Codeigniter中禁止A Database Error Occurred及A PHP E...

目錄(?) [-]
  1. Codeigniter中禁止A Database Error Occurred錯誤提示
  2. Codeigniter中禁止A PHP Error was encountered錯誤提示

頁面出現以下兩種錯誤提示: php

A PHP Error was encountered 數據庫

Severity: Notice app

Message: Trying to get property of non-object 函數

Filename: XXXXX spa

Line Number: 67 .net


A Database Error Occurred debug

Error Number: 1064 code

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 server

select * from table_example where field= blog

Filename: XXXXX

Line Number: 72 

 

正確的解決辦法固然是去檢查錯誤,解決bug。可是有時候一些非預期的bug會暴漏一些信息,所以在線上環境禁止這類錯誤十分必要。

可是,根據手冊:

 

注意: 在默認的狀況下, CodeIgniter 會顯示全部的PHP錯誤. 可是當你開發程序結束時,你可能想要改變這個狀況. 你會發如今index.php文件頂端有這個函數error_reporting(),經過它能夠進行對錯誤的設置。 即便你關閉了錯誤報告,當有錯誤發生時,錯誤記錄也不會中止。

 

因此,修改php.ini不能達到咱們想要的效果。

下面是解決辦法:

1. Codeigniter中禁止A Database Error Occurred錯誤提示

index.php中修改error_reporting:

if (defined('ENVIRONMENT'))
{
	switch (ENVIRONMENT)
	{
		case 'development':
			error_reporting(0);
		break;
	
		case 'testing':
		case 'production':
			error_reporting(0);
		break;

		default:
			exit('The application environment is not set correctly.');
	}
}


 

2. Codeigniter中禁止A PHP Error was encountered錯誤提示

config/database.php中修改數據庫設置:

$db['default']['db_debug'] = FALSE;
相關文章
相關標籤/搜索