Magento open_basedir限制生效。文件(/ tmp)不在允许的路径中:

时间:2014-02-02 14:17:56

标签: php magento

我在所有页面/产品中在Magento CMS上上传图片时遇到一些麻烦。 我启用了erro日志,我会报告它进行检查。 注意:仅限现在发布,我已使用“mydomain.com”清理我的地址域。仅用于样品。

  

[Sun Feb 02 15:02:14 2014] [错误] [客户146.105.28.41]客户   服务器配置拒绝:   /var/www/vhosts/mydomain.com/httpdocs/app/etc/local.xml

     

[Sun Feb 02 15:02:18 2014] [错误] [客户端146.105.28.41]客户端   服务器配置拒绝:   /var/www/vhosts/mydomain.com/httpdocs/app/etc/local.xml

     

[Sun Feb 02 15:02:36 2014] [warn] [client 151.67.115.48] mod_fcgid:   stderr:PHP警告:未知:open_basedir限制生效。   文件(/ tmp)不在允许的路径中:   (/var/www/vhosts/mydomain.com:/usr/share/php:/usr/share/pear)in   第0行未知

     

[Sun Feb 02 15:02:36 2014] [warn] [client 151.67.115.48] mod_fcgid:   stderr:PHP警告:文件上传错误 - 无法创建临时文件   在第0行的未知文件中

2 个答案:

答案 0 :(得分:2)

您需要为/ tmp添加open_basedir免除项,完全关闭open_basedir,或将php临时目录更改为/var/www/vhosts/mydomain.com中的内容。

  1. 我推荐第一个。
  2. 我读过报告(没有解释)你应该做第二次。
  3. 您可以在Apache配置中执行第3次操作:

    <Directory /var/www/vhosts/mydomain.com/>
        php_admin_value upload_tmp_dir /var/www/vhosts/mydomain.com/temp
    </Directory>
    

答案 1 :(得分:0)

这里的答案对我不起作用:

  • / tmp的open_basedir异常通常不是最佳解决方案,因为这意味着用户可以访问其他用户的tmp文件(可能存在安全问题)
  • open_basedir通常是有效的,因为完全关闭它可能是一个安全问题
  • 修改upload_tmp_dir
  • 后问题仍然存在

对我来说,在将php.ini值sys_temp_dir设置为open_basedir目录中的值之后,magento安装工作正常。

为了安全起见,我检查了phpinfo()中显示的所有tmp路径,并将其更改为:

<Directory /var/www/myvirtualhost> php_admin_value upload_tmp_dir /var/www/myvirtualhost/tmp php_admin_value soap.wsdl_cache_dir /var/www/myvirtualhost/tmp php_admin_value opcache.lockfile_path /var/www/myvirtualhost/tmp php_admin_value sys_temp_dir /var/www/myvirtualhost/tmp </Directory>