Php
PHP 的 open_basedir 值在 Apache 日誌中給出二進制值
查看日誌文件以找出我的網站幾天前關閉的原因,我發現了數百行這樣的行(部分用“x”編輯):
$$ Fri Nov 27 23:14:36 2009 $$ $$ error $$ $$ client xxx.xxx.xxx.xxx $$PHP 警告:require_once():open_basedir 限制生效。文件(/var/www/xxx/xxx.php)不在允許的路徑中:(\xa0\x99\xc4)在第 17 行的 /var/www/xxx/index.php 中
請注意,open_basedir 值是二進制的,因此它不會匹配任何內容。
沒有在伺服器上進行任何(管理員)更改來導致此問題,也沒有進行任何更改來阻止它。它顯然是自行解決的(apache 或其他服務沒有重新啟動/重新載入)。apache conf 文件中的 open_basedir 指令如下所示:
php_admin_value open_basedir /var/www:/usr/share/php
什麼會導致 open_basedir 值重新載入二進制值,或者我什至可以從哪裡開始解決這個問題?這是過去兩週內第二次出現此問題。
Apache 版本:2.2.8,PHP:5.3.0,Linux 2.6.24-23
問題顯然是由於這個錯誤。