Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Magento open_basedir限制生效。文件(/tmp)不在允许的路径内:_Php_Magento - Fatal编程技术网

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

Php Magento open_basedir限制生效。文件(/tmp)不在允许的路径内:,php,magento,Php,Magento,在所有页面/产品中,我在Magento CMS上上传图像时遇到一些问题。 我已经启用了erro日志,我将报告它以供检查。 注:仅用于邮寄,我已将我的地址域替换为“mydomain.com”。仅用于样品 [Sun Feb 02 15:02:14 2014][error][client 146.105.28.41]客户 服务器配置拒绝: /var/www/vhosts/mydomain.com/httpdocs/app/etc/local.xml [Sun Feb 02 15:02:18 2014]

在所有页面/产品中,我在Magento CMS上上传图像时遇到一些问题。 我已经启用了erro日志,我将报告它以供检查。 注:仅用于邮寄,我已将我的地址域替换为“mydomain.com”。仅用于样品

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

[Sun Feb 02 15:02:18 2014][error][client 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) 第0行未知

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


您需要为/tmp添加open_basedir豁免,完全关闭open_basedir,或者将php temp目录更改为/var/www/vhosts/mydomain.com中的某个目录

  • 我推荐第一种
  • 我读过报告(没有解释)说你应该做第二件事
  • 您可以在Apache配置中执行第三步:

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

  • 这里的答案不适用于我:

    • /tmp的open_basedir异常通常不是最好的解决方案,因为这意味着用户可以访问其他用户的tmp文件(可能存在安全问题)
    • open_basedir通常处于活动状态是有原因的,完全关闭它可能是一个安全问题
    • 修改上载\u tmp\u目录后,问题仍然出现
    对我来说,在我将php.ini值
    sys\u temp\u dir
    设置为open\u basedir目录中的一个值后,magento的安装工作正常

    为了安全起见,我检查了
    phpinfo()
    中显示的所有tmp路径,并对它们进行了如下更改:

    
    php_admin_value upload_tmp_dir/var/www/myvirtualhost/tmp
    php\u admin\u value soap.wsdl\u cache\u 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