我正在为一个客户端处理一个站点,我在我的服务器上克隆了整个站点,它似乎工作正常。 既然我已经将网站复制到他的服务器并试图付款(使用paypal pro)我得到了一个权限错误:
`Warning: error_log(../PayPal.log) [function.error-log]: failed to open stream: Permission denied`
我已尝试将所有权限更改为777,此错误不断出现。
我已经环顾四周,在谷歌和这里我看到它可能与php设置(safemode
或open_basedir
)有关但当我检查phpinfo()
时似乎safemod已禁用且open_basedir为空。
有想法的人吗?
答案 0 :(得分:3)
<强>更新强>
添加任何虚拟主机(甚至单个主机)时,必须在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>
如果您的Document根目录(在此示例中)是/var/www/vhosts/www.example.com,则apache需要具有对/ var / www / vhosts /和/ var / www / vhosts /的写入/执行访问权限需要在apache中配置。
好。
我相信如果一切都是777,问题很可能与open_basedir或/和apache指令有关。
确保在apache和open_basedir中可以访问../Paypal.log。 还要记住该范围内的其他内容以及它将如何影响您的安全性。