我正在將網站遷移到新服務器,並且在其站點中使用open_basedir的一個站點 - 可用文件給我提供了問題,並在我嘗試加載時顯示空白頁它。PHP open_basedir在Apache中損壞,但在運行時在PHP中運行
我已經通過將open_basedir配置從Apache VirtualHost移動到ini_set()中的前端index.php頁面來修復它。這個修復困擾了我,但我覺得我錯過了一些東西。是否有一個特定的Apache設置,我需要改變或什麼讓這個工作在VirtualHost配置?
請注意,在更改站點可用文件後,我確實重新啓動了apache。
這裏是網站可用文件:
<VirtualHost *:443>
ServerName www.mysite.com
ServerAdmin [email protected]
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
我甚至嘗試只需將基本目錄設置爲root(php_flag open_basedir /),它仍然給我一個錯誤。
現有的服務器:的Debian GNU/Linux的4.0,PHP版本5.2.0-2,阿帕奇2.2.3
新服務器:的Debian GNU/Linux的6.0,PHP版本5.3.3-7 + squeeze3,Apache 2.2的0.16
PHP是否以Apache模塊運行?否則,你不能使用'mod_php'提供的'php_flag'指令。 –