4

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

`Warning: error_log(../PayPal.log) [function.error-log]: failed to open stream: Permission denied`

我已经尝试将所有内容的权限更改为 777,并且此错误不断出现。

我已经环顾四周,在谷歌和在这里我看到它可能与 php 设置(safemodeopen_basedir)有关,但是当我检查phpinfo()它似乎 safemod 被禁用并且 open_basedir 是空的。

有人有想法吗?

4

1 回答 1

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>

如果您的文档根目录(在此示例中)是 /var/www/vhosts/www.example.com apache 将需要对 /var/www/vhosts/ 和 /var/www/vhosts/ 具有写入/执行访问权限在apache中配置。


好的。

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

确保 ../Paypal.log 可在 apache 和 open_basedir 中访问。还要记住 ../ 范围内还有什么以及它将如何影响您的安全性。

于 2013-02-07T02:37:40.163 回答