gpt4 book ai didi

PHP open_basedir 在 Apache 中损坏但在运行时在 PHP 中工作

转载 作者:可可西里 更新时间:2023-11-01 00:50:44 24 4
gpt4 key购买 nike

我正在将网站迁移到一台新服务器,而一个在其站点可用文件中使用 open_basedir 的站点给我带来了问题,并且在我尝试加载它时只显示空白页面。

我已通过将 open_basedir 配置从 Apache VirtualHost 移动到 ini_set() 中的前端 index.php 页面来修复它。虽然这个修复困扰着我,但我觉得我遗漏了一些东西。是否有我需要更改的特定 Apache 设置或其他设置才能在 VirtualHost 配置中运行?

请注意,我在更改站点可用文件后确实重新启动了 apache。

这是站点可用文件:

<VirtualHost *:443>
ServerName www.mysite.com
ServerAdmin webmaster@mysite.com
DocumentRoot /var/www/www.mysite.com/content
php_flag open_basedir /var/www/www.mysite.com/
SSLEngine On
SSLCertificateFile /etc/ssl/certs/www_mysite_com.crt
SSLCertificateKeyFile /etc/ssl/private/www_mysite_com.key
SSLCACertificateFile /etc/ssl/certs/DigiCertCA.crt
RewriteEngine on
FileETag INode MTime Size
ExpiresActive On
ExpiresDefault "access plus 1 week"
ExpiresByType text/html "access plus 5 seconds"
CustomLog /var/log/apache2/access.log combined
</VirtualHost>

这是 Apache 给我的错误 (/var/log/apache2/error.log):

... PHP Warning:  Unknown: open_basedir restriction in effect. File(/var/www/www.mysite.com/content/index.php) is not within the allowed path(s): (0) in Unknown on line 0
... PHP Warning: Unknown: failed to open stream: Operation not permitted in Unknown on line 0
... PHP Fatal error: Unknown: Failed opening required '/var/www/www.mysite.com/content/index.php' (include_path='.:/usr/share/php:/usr/share/pear') in Unknown on line 0

我什至尝试将基本目录设置为根目录 (php_flag open_basedir/),但它仍然给我一个错误。

现有服务器:Debian GNU/Linux 4.0、PHP 5.2.0-2、Apache 2.2.3

新服务器:Debian GNU/Linux 6.0,PHP 5.3.3-7+squeeze3,Apache 2.2.16

最佳答案

请尝试以下操作:

<VirtualHost *:443>
...
php_admin_value open_basedir "/var/www/www.mysite.com/"
...
</VirtualHost>

您正在使用 *_flag,而您应该使用 *_value

*_flag 用于 bool 值,而 *_value 用于字符串。参见 How to change configuration settings获取更多信息。

关于PHP open_basedir 在 Apache 中损坏但在运行时在 PHP 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8053948/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com