Comment désactiver le rapport D'erreur PHP dans CodeIgniter?
j'ai lu le officiel documentation et tout ce qu'ils disent, c'est que je devrais avoir un error_reporting() situé en haut de votre index principal.fichier php. Mais je n'ai pas de index.php
le fichier dans mon projet. Mon contrôleur de base s'appelle core
donc pour obtenir l'index principal je vais à www.mysite.dom/core/
. Donc je suppose que cette fonction de rapport d'erreur devrait être à l'intérieur de ce contrôleur? Alors ce que je voudrais savoir, c'est où dois-je le mettre dans le contrôleur et quoi mettre à l'intérieur pour désactiver la génération de rapports. Merci à vous tous pour l'aide, suppose que je manque quelque chose :/
2 réponses
- application/
- system/
- user_guide/
- index.php <- this is the file you need to change
j'utilise habituellement ce code dans mon index CI.php. Il suffit de changer local_server_name en nom de votre serveur web local.
// 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.');
}
}
Changement de l'IC de l'indice.fichier 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.');
}
}
si les erreurs PHP sont désactivées, mais que des erreurs MySQL se produisent, désactivez-les dans le fichier /config/database.fichier php. Définissez l'option db_debug à false:
$db['default']['db_debug'] = FALSE;
vous pouvez aussi utiliser active_groupdéveloppement et production pour correspondre à l'environnement 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;