在服务器上配置webmail(比如我最喜欢的SquirrelMail)时,出于服务器安全考虑,一般在apache配置文件中作
php_admin_value open_basedir <path to web root>
的限制,防止php程序浏览整个硬盘,这个限制在使用虚拟主机的服务器上使用的更多。
然而这个安全措施带来一个隐含的限制,就是php的上传临时目录(默认为/tmp)无法被php程序访问,导致webmail中上传附件时失败,比如SquirrelMail提示“Could not move/copy file. File Not Attached.”(“无法移动/复制文件。文件需要被附在邮件上”)。
通过在apache配置文件中添加一个设置
php_admin_value upload_tmp_dir <path to temp dir>
让php程序在上传时使用指定的目录作为临时文件目录。
当然,要注意此目录的权限设置要让apache的运行用户能写入。
实例:
php_admin_value open_basedir /www/mail.yourdomaim.com
php_admin_value upload_tmp_dir /www/mail.yourdomaim.com/temp
当然,从来不对php作限制的人是不会遇到这个问题的(只会遇到服务器被黑)。
小小经验,偶为此郁闷了很久。
来源:http://www.loveunix.net/thread-9915-1-1.html
文章分类
标签云
Gray,
Public,
灰度发布,
灰度放量,
ABTest,
AB测试,
分流发布
CentOS,
Linux,
Shell
Mac,
Shell,
Vim
Linux
SSH
Mac
Mail
MacOSX
命令
MySQL,
调优
Apache,
HTTP,
ngnix
MySQL
gif,
jpeg,
png
Markdown
CentOS
PHP,
WordPress,
Blog
AsciiDoc,
mod_deflat
sudo
Leopard,
Snow
Leopard
Apache
Nginx,
木马
hostname,
upload
md5,
md5sum,
DNS
版本
Cookie,
PHP
Chrome
DooPHP,
CSS
Filter
IT
Java,
Maven,
Thrift
Git
Memcache
MongoDB
Node
Node.js
npm
HTML
Nginx
JDK,
Sublime
Timestamp
Lua,
Redis,
MacOSX,
Class,
Function
Sublime,
Snippets
ObjC
Cobar,
Bash
Brew,
Homebrew
AsciiDoc
Error
Yii
MacOSX,Hadoop,MapReduce
memcache,
Markdown,
Jekyll
VIM
Go,
Golang,
Redis
MacTeX,
CJK,
Tex
Tex,
LaTex
R,
Brew
Android,
Java
EC
Mou
GoAgentX,
GoAgent
Python
HBase
Markdown,Slide
Jenv
kerberos
Junit
Maven
虚拟化
LXC
Docker
bridge
AngularJS
PHPUnit
Android
composer
Golang
ReactNative,
项目管理
MAMP,
Memcache,
SecureCRT,
Zoc,
Mail,
GPG
Docker,
Supervisor
Test
Retail
Pay