Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.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 文件无法打开流:权限被拒绝_Php_Permissions_Fopen - Fatal编程技术网

Php 文件无法打开流:权限被拒绝

Php 文件无法打开流:权限被拒绝,php,permissions,fopen,Php,Permissions,Fopen,我正在为一个客户端处理一个站点,我已经在我的服务器上克隆了整个站点,它似乎可以工作。 现在,我已将该网站复制到他的服务器并尝试付款(使用paypal pro),我收到一个权限错误: `Warning: error_log(../PayPal.log) [function.error-log]: failed to open stream: Permission denied` 我已尝试将所有权限更改为777,但此错误不断出现 我在google中四处查看过,在这里我看到它可能与php设置有关(s

我正在为一个客户端处理一个站点,我已经在我的服务器上克隆了整个站点,它似乎可以工作。 现在,我已将该网站复制到他的服务器并尝试付款(使用paypal pro),我收到一个权限错误:

`Warning: error_log(../PayPal.log) [function.error-log]: failed to open stream: Permission denied`
我已尝试将所有权限更改为777,但此错误不断出现

我在google中四处查看过,在这里我看到它可能与php设置有关(
safemode
open\u basedir
),但当我选中
phpinfo()
时,它似乎禁用了safemod,open\u basedir为空


有人有想法吗?

更新

在添加任何虚拟主机(甚至单个主机)时,必须在Apache中设置DocumentRoot。 该指令告诉apache在哪里查找文件并映射网站的根目录

DocumentRoot "/var/www/vhosts/www.example.com"
但该指令本身并没有授予客户端读/写该目录的权限。必须指定该目录的配置,如

<Directory "/var/www/vhosts/www.example.com">
      Options Indexes FollowSymLinks
      AllowOverride All
      Order allow,deny
      Allow from all 
</Directory>

选项索引跟随符号链接
允许超越所有
命令允许,拒绝
通融
如果您的文档根目录(在本例中)是/var/www/vhosts/www.example.com,则需要在apache中配置对/var/www/vhosts/和/var/www/vhosts/的写/执行访问权限


好的

我相信,如果一切都是777,那么问题很可能与apache的open_basedir或/和指令有关

确保../Paypal.log在apache中可访问,并打开_basedir。
还请记住该../范围内还有什么,以及它将如何影响您的安全。

制作整个副本的目录的权限如何?所有内容都设置为777。文件目录与任何内容相关的所有内容。如果使用绝对路径而不是相对路径,是否会产生影响?不,同样的事情尝试了绝对alreadyopen_basedir。是空的,据我所知,这并不限制任何文件夹。我不明白你所说的指令是什么意思?我明白了。好的,非常感谢,我将继续阅读和了解该问题以及
documentRoot