2016-05-30 27 views
-2

I'm移動從PHP 5.5服務器的應用程序的PHP 5.6服務器。該應用程序基於Codeigniter 2.2PHP 5.5 - > 5.6:包括不工作的話(笨)

在舊的服務器,我在我的觀點是這樣的,包括其他的模板部分:

include('header.php'); 

這種簡單直接的包括像舊服務器上的魅力的作品。

在新服務器上,我收到異常,發現文件無法找到

我發現,該PHP預處理器試圖抓住從Linux的文件包含路徑,並從「系統/芯」目錄。但不是來自視圖本身所在的目錄。

從來就沒有想法是什麼讓這兩個系統之間的區別......有沒有人一個想法,我可以搜索的問題?

+3

什麼是錯誤?或輸出 –

+0

也表明你的代碼 –

+1

我還沒有看到有行爲改變的。使用'include('標題。php');'將在5.5和5.6中首先檢查包含路徑。然後,它會檢查本地目錄。如果使用'include('./ header.php');',它將忽略包含路徑,因爲你有它的路徑。 – kainaw

回答

0

感謝大家的所有輸入 - 我已經嘗試了大部分這些調試嘗試。

現在我挖得更深一點,找到原因爲我的問題。在PHP的short_open_tag的值爲指令導致此問題。導致這個新的服務器在php.ini有一些細微的差異。

核心/ loader.php笨試圖取代短開放標籤使用一般的標籤,如果項short_open_tags在.ini設置被禁用。由於任何原因,這個替換不能按預期工作,並導致我的問題。

因此,如果任何人有從一臺機器移動笨安裝到另一個後同樣的問題,這可能是一個點,你就可以開始。

感謝大家, 邁克爾

0

檢查文件路徑。無論是否在其他文件夾內。

也可以與

$this->load->view('header.php'); 

嘗試或可在控制器加載頭以及


除了有一些有用的關鍵字。

  1. APPPATH - 輸出應用程序路徑。例如application/