我目前已將我的Codeigniter根index.php
的environment
變量設置爲development
。我希望codeigniter迴應php錯誤,而不是500內部錯誤
而且我還沒有啓用小型URL模式。
我不喜歡每天晚上都檢查/var/log/apache2/error.log
!
希望我的PHP錯誤回到頁面。 500內部錯誤實際上是可用於顯示錯誤的* HARD * est方法。
請注意,我們正在使用默認配置工作在Ubuntu 12.04 LTS服務器上。
我目前已將我的Codeigniter根index.php
的environment
變量設置爲development
。我希望codeigniter迴應php錯誤,而不是500內部錯誤
而且我還沒有啓用小型URL模式。
我不喜歡每天晚上都檢查/var/log/apache2/error.log
!
希望我的PHP錯誤回到頁面。 500內部錯誤實際上是可用於顯示錯誤的* HARD * est方法。
請注意,我們正在使用默認配置工作在Ubuntu 12.04 LTS服務器上。
正如評論中提到的,我懷疑這是CodeIgniter的問題。您更有可能在php.ini
中將display_errors
設置爲關閉。
如果我沒有記錯,CI的index.php
包含調用ini_set('error_reporting', ..);
以改變默認行爲,所以你總是可以先看看那裏,看看發生了什麼。
剛剛看了一下,這裏的默認:
/*
|---------------------------------------------------------------
| PHP ERROR REPORTING LEVEL
|---------------------------------------------------------------
|
| By default CI runs with error reporting set to ALL. For security
| reasons you are encouraged to change this when your site goes live.
| For more info visit: http://www.php.net/error_reporting
|
*/
error_reporting(E_ALL);
如果你只是在那裏ini_set('display_errors', 1);
添加,就應該開始工作就好了。顯然,最好的辦法是增加一個開關,你的環境來設置這些變量,我不知道爲什麼它不是這樣的了,但這裏有一個例子:
if (defined('ENVIRONMENT'))
{
switch (ENVIRONMENT)
{
case 'development':
error_reporting(E_ALL);
ini_set('display_errors', 1);
break;
case 'production':
error_reporting(0);
ini_set('display_errors', 0);
break;
}
}
優秀的答案! – Will
只添加索引以下。 PHP,在開發環境的情況下:
case 'development':
error_reporting(E_ALL);
ini_set('display_errors', 'On');
編輯:作爲魯迪維瑟說,你可以修復它改變你的php.ini。我更喜歡在這裏修復它,所以無論何時我下載項目(我的筆記本電腦,我的辦公室PC或我在緊急情況下借用的計算機,我都不需要更改php.ini配置)。
我有相同的問題我從codeigniter得到的唯一內容是隻有500內部錯誤(我的舊項目和乾淨的安裝也一樣) 但有趣的部分是,我的非CI項目仍然工作,主要包含php。
尖端寫出來的錯誤與
ini_set('display_errors', 'On'/,1)
解決我的問題由於某種原因,我沒有讀笨的核心文件的權利。
將「+ r」添加到解決問題的文件中。
魯迪·維瑟
CarlosIPe
我感謝你們的解決方案。
也許它不是codeigniter,你有檢查'php.ini'爲'display_errors'嗎? –