2012-07-25 77 views
0

背景 最近,我們通過用新服務器(PHP 5.3.3)替換它來升級我們的Web服務器(PHP 5.3.3),並且至少有一個包含函數停止加工。包含功能部分無法正常工作不帶修改

繼本網站的回覆後,我將include函數從「include('requested_pa​​ge');」到「getcwd()。」/「。$ _ SESSION ['requested_pa​​ge'];」並解決了這個問題。

GETCWD()返回「無功/ lib中/需要更改虛擬主機/ httpdocs資料/

問題

有沒有在php.ini的設置(或其他地方),允許包括功能工作W/O添加GETCWD()

信息: 舊服務器:CentOS 5的,新的服務器CentOS 6的兩臺服務器正在運行PHP 5.3.3和Plesk 11

謝謝

+0

這很可能屬於[服務器故障](http://www.serverfault.com)。 – nickb 2012-07-25 17:39:54

+1

@nickb:不是。即使對於程序員來說,include_path也是一件很常見的事情。 – Leigh 2012-07-25 17:41:42

+0

@Leigh - 問題仍然是關於服務器升級和配置,問題源於服務器更改,因此投票選擇服務器故障。 – nickb 2012-07-25 17:49:53

回答

0

您應該能夠使用include_path指令來設置查找包含文件的目錄。

指定目錄,其中要求,包括,fopen()函數, 文件(),ReadFile的()和的file_get_contents列表()函數來尋找文件。 格式與系統的PATH環境變量相似:在Unix中以冒號分隔的 目錄的列表或在Windows中以分號分隔的目錄。

當查看要包含文件的 時,PHP會分別考慮包含路徑中的每個條目。它將檢查第一個路徑,如果找不到 ,請檢查下一個路徑,直到它找到包含的文件 或返回一個警告或錯誤。您可以使用set_include_path()在運行時修改或設置您的包含路徑 。