php_admin_value open_basedir 引起的上传文件失败解决方法
2014-02-10 10:21
585 查看
为了安全,我们通常会在虚拟主机设置中,加入这一行
php_admin_value open_basedir "/usr/local/apache/htdocs/www"
但这会导致move_uploaded_file不能读取临时目录中的上传文件,导致上传文件失失败。
一般会提示以下错误:
Warning: move_uploaded_file() [function.move-uploaded-file]: open_basedir restriction in effect. File(/tmp/phpqwg5rO) is not within the allowed path(s): (/usr/local/apache/htdocs/www) in /usr/local/apache/htdocs/www/includes/lib_common.php on line 3130
解决方法:
将上传文件的临时目录加入到php_admin_value open_basedir后面,最后看起来是这样的:
<VirtualHost *:80>
php_admin_value open_basedir "/usr/local/apache/htdocs/www:/tmp"
</VirtualHost>
注意:两个目录之间是冒号隔开。
把PHP脚本操作限制在web目录可以避免程序员使用copy函数把系统文件拷贝到web目录。move_uploaded_file不受open_basedir的限制,所以不必修改php.ini里upload_tmp_dir的值。
相关文章推荐
- php.ini针对文件上传的修改还有move_uploaded_file()函数对中文字符上传失败的解决方法
- PHPNow下安装ECshop后后台提示: 您的服务器设置了 open_base_dir 且没有包含 C:\WINDOWS\Temp,您将无法上传文件。 解决方法
- ueditor上传图片时目录创建失败的问题解决方法,不用那么麻烦,其实修改php/config.json这个配置文件里面的路径就行!!
- 您的服务器设置了 open_base_dir 下安装ECshop后后台提示: 您的服务器设置了 open_base_dir 且没有包含 C:\WINDOWS\Temp,您将无法上传文件。 解决方法
- php_admin_value open_basedir /www
- php ci框架中加载css和js文件失败的解决方法
- SecureCRT上传文件失败的解决方法
- PHP和Nginx 文件上传大小限制问题解决方法
- php上传文件失败解决方式
- php ci框架中载入css和js文件失败的原因及解决方法
- php ci框架中加载css和js文件失败的原因及解决方法
- ASP.NET 使用ajaxfileupload.js插件出现上传较大文件失败的解决方法(ajaxfileupload.js第一弹)
- 解决windows7下使用IIS配置的PHP无法上传文件的方法
- php配置open_basedir后及Apache对应配置 和Yii验证码无法出现解决方法
- WordPress Import 上传的文件尺寸超过php.ini中定义的upload_max_filesize值-->解决方法。
- 大文件上传,修改php.ini的配置之后仍不生效解决方法
- PHP上传文件大小限制解决方法
- Struts2中文件过大上传失败问题解决方案org.apache.commons.fileupload.FileUploadBase$SizeLimitExceededException
- 微信小程序常见问题->上传文件后如何在后台(php)获取文件名解决方法
- php ci框架中载入css和js文件失败的原因及解决方法