Intereting Posts

Как отключить отчет об ошибках PHP в CodeIgniter?

Я прочитал официальную документацию, и все, что они говорят, это то, что у меня должна быть функция error_reporting (), расположенная в верхней части основного файла index.php. Но у меня нет файла index.php в моем проекте. Мой базовый контроллер называется core поэтому, чтобы перейти к основному индексу, я www.mysite.dom/core/ на сайт www.mysite.dom/core/ . Поэтому я предполагаю, что эта функция отчетности об ошибках должна находиться внутри этого контроллера? Тогда я хотел бы знать, где я должен положить его в контроллер и что его внутри, чтобы отключить отчет. Спасибо всем за помощь, думаю, я чего-то не хватает: /

Вот типичная структура нового проекта Codeigniter:

 - application/ - system/ - user_guide/ - index.php <- this is the file you need to change 

Обычно я использую этот код в своем индексе CI index.php. Просто измените local_server_name на имя вашего локального веб-сервера.

С помощью этого кода вы можете развернуть свой сайт на своем производственном сервере без изменения index.php каждый раз.

 // Domain-based environment if ($_SERVER['SERVER_NAME'] == 'local_server_name') { define('ENVIRONMENT', 'development'); } else { define('ENVIRONMENT', 'production'); } /* *--------------------------------------------------------------- * ERROR REPORTING *--------------------------------------------------------------- * * Different environments will require different levels of error reporting. * By default development will show errors but testing and live will hide them. */ if (defined('ENVIRONMENT')) { switch (ENVIRONMENT) { case 'development': error_reporting(E_ALL); break; case 'testing': case 'production': error_reporting(0); ini_set('display_errors', 0); break; default: exit('The application environment is not set correctly.'); } } 

Измените файл CI index.php на:

 if ($_SERVER['SERVER_NAME'] == 'local_server_name') { define('ENVIRONMENT', 'development'); } else { define('ENVIRONMENT', 'production'); } if (defined('ENVIRONMENT')){ switch (ENVIRONMENT){ case 'development': error_reporting(E_ALL); break; case 'testing': case 'production': error_reporting(0); break; default: exit('The application environment is not set correctly.'); } } 

Если ошибки PHP отключены, но все ошибки MySQL все еще будут отображаться, отключите их в файле /config/database.php. Установите для параметра db_debug значение false:

 $db['default']['db_debug'] = FALSE; 

Кроме того, вы можете использовать active_group в качестве разработки и производства для соответствия среде https://www.codeigniter.com/user_guide/database/configuration.html

 $active_group = 'development'; $db['development']['hostname'] = 'localhost'; $db['development']['username'] = '---'; $db['development']['password'] = '---'; $db['development']['database'] = '---'; $db['development']['dbdriver'] = 'mysql'; $db['development']['dbprefix'] = ''; $db['development']['pconnect'] = TRUE; $db['development']['db_debug'] = TRUE; $db['development']['cache_on'] = FALSE; $db['development']['cachedir'] = ''; $db['development']['char_set'] = 'utf8'; $db['development']['dbcollat'] = 'utf8_general_ci'; $db['development']['swap_pre'] = ''; $db['development']['autoinit'] = TRUE; $db['development']['stricton'] = FALSE; $db['production']['hostname'] = 'localhost'; $db['production']['username'] = '---'; $db['production']['password'] = '---'; $db['production']['database'] = '---'; $db['production']['dbdriver'] = 'mysql'; $db['production']['dbprefix'] = ''; $db['production']['pconnect'] = TRUE; $db['production']['db_debug'] = FALSE; $db['production']['cache_on'] = FALSE; $db['production']['cachedir'] = ''; $db['production']['char_set'] = 'utf8'; $db['production']['dbcollat'] = 'utf8_general_ci'; $db['production']['swap_pre'] = ''; $db['production']['autoinit'] = TRUE; $db['production']['stricton'] = FALSE;