Php 文件无法打开流:权限被拒绝
我正在为一个客户端处理一个站点,我已经在我的服务器上克隆了整个站点,它似乎可以工作。 现在,我已将该网站复制到他的服务器并尝试付款(使用paypal pro),我收到一个权限错误: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
`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