當前位置:才華齋>計算機>php語言>

解決PHP的failed opening required問題的方法

php語言 閱讀(2.1W)

人要想學習一點東西,就應該先學會謙遜。以下是小編為大家搜尋整理的解決PHP的failed opening required問題的方法,希望對大家有所幫助!更多精彩內容請及時關注我們應屆畢業生考試網!

解決PHP的failed opening required問題的方法

環境:WIN2003+IIS6+PHP5

本機,2003下IIS6,配置php5,mysql ,phpMyAdmin。

現在php及mysql都可以正常執行,架phpwind論壇也能正常執行。

配置好ecshop的幾個引數後(就是那幾個使用者名稱,密碼什麼的),在瀏覽器中執行ecshop,

返回如下提示:

Warning: require(../includes/) [ire]: failed to open stream: No such file or directory in C:Ap on line 22

Fatal error: require() [ire]: Failed opening required '../includes/' (include_path='.;C:php5pear') in C:Ap on line 22

原來原因是這樣的:PHP程式到服務器,只能在目錄中執行,無法在網站根目錄執行,還是目錄許可權的問題。 /

解決方法如下

看下,D盤許可權為administrator,下面有一目錄為網站目錄Web,許可權為administrator,然後Web目錄下面是各個網站的目錄,比如說ecshop目錄,平時的建法是ecshop目錄許可權為administrator,下面再建Data目錄和Web目錄,這兩個目錄的許可權是許可權為administrator+web_ecshop(IIS執行帳號),這樣問題就來了,放根目錄的PHP程式就會出現各種各樣的問題,就是不能正常執行,這應該是目錄許可權繼承的問題。

正確的許可權設定是ecshop目錄許可權為administrator+web_ecshop(IIS執行帳號),下面的兩個目錄許可權為繼承,也就是網站根目錄的上級目錄的許可權要和網站根目錄許可權一樣這才樣就沒問題了。

  【相關閱讀】

  解決PHP無法訪問遠端MySQL的問題

問題是這樣的:有A,B,C三臺伺服器,C為伺服器,B可以用PHP成功連線上C機器的mysql,而A機器則不能連線!

可以說,肯定不是程式碼有什麼問題,伺服器上的mysql設定也是沒什麼問題的,因為B機器都是可以的。

肯定是A機器的設定有問題!

在網上一頓搜,各種說mysql授權問題的,以及修改的,修改防火牆的,事實上都不是這些問題導致的。

最後想到了SELINUX的'問題,對比了下AB兩臺機器,果然設定不一樣!估計就是它的問題,有戲!

進行了如下設定:

root下,用vim開啟檔案檔案/etc/selinux/config

修改SELINUX的值:

#SELINUX=enforcing

SELINUX=disabled

儲存並退出。

重啟生效,如果不想重啟,命令列輸入

setenforce 0

回車,OK