我一直在看所有其他堆棧溢出問題,也有這個錯誤消息,但沒有提供的答案是幫助我。我將首先提供此問題的上下文,然後共享我設置的錯誤日誌和配置。PHP警告:未知:open_basedir限制生效。文件(0)不在允許的路徑(S)
因此,在我公司的網站上,我們有一個由CodeIgniter由一家完全獨立的開發公司創建的客戶端門戶。他們沒有回覆我的任何電子郵件,所以我不得不自己嘗試解決這個問題。我的PHP技能並不完全符合鼻菸,但我正在努力解決這個問題。
該錯誤基本上與文件上傳有關。客戶端門戶允許我們上傳文件供我們的客戶查看,並且它可以將許多文件壓縮到一起發送給多個人。本週以來,上傳一直在失敗。這只是第一個問題,目前的問題是由於「open_basedir限制生效」錯誤,我無法查看任何錯誤日誌。
因此,這裏有我的一些配置在/etc/php5/apache2/php.ini文件:
open_basedir = /var/www/:/tmp/
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
display_errors = On
display_startup_errors = On
log_errors = On
error_log = "/var/www/dashboard.fnfa.ca/php_errors.log"
即使error_log裏定義的,它不會記錄到的某些原因。因此,在/var/www/dashboard.fnfa.ca/.htaccess我加入了以下配置:
php_flag error_log /var/www/dashboard.fnfa.ca/php_errors.log
這將讓該文件記錄到,但是這是我而是收到實際的PHP錯誤的這個錯誤:
PHP Warning: Unknown: open_basedir restriction in effect. File(0) is not within the allowed path(s): (/var/www/:/tmp/) in Unknown on line 0
我假設open_basedir限制阻止正確的消息顯示。我一直在討論open_basedir配置,試圖獲取除此錯誤消息之外的任何內容。我將open_basedir值更改爲以下無效:
open_basedir = /var/www/:/tmp/:/var/www/dashboard.fnfa.ca/
這沒有做什麼。當我將它設置爲'無'時,錯誤日誌不再被寫入。我有一種感覺,這是一個非常簡單的問題,我遇到了很大的麻煩。如果有人能幫我解決這個問題,我會非常感激。如果您希望看到其他任何設置,請儘量提供,並儘可能提供我的能力。
試試這個,讓我們知道它是否有幫助? https://www.reddit.com/r/PHP/comments/4x9n9h/problem_on_stack_overflow_please_help/ – Volomike
運行'php_ini_loaded_file()'的結果是什麼? http://php.net/manual/en/function.php-ini-loaded-file.php – Scott
@Scott它給了我php.ini的正確位置。 Volomike Reddit目前處於關閉狀態,但我已經在去吃午飯之前看過你發佈的內容。一旦我給你的文章進行了概述,我會盡快回復你。 感謝您幫助您們 – SBlancher