Habiliter les erreurs dans php_error.log
Lorsque l'on écrit logiciel en php à la main”, c'est -à-dire sans utiliser d’applications établies telles WordPress ou Joomla!, il est certainement utile - pour ne pas dire nécessaire - que les erreurs générées par l'application soient mises en évidence, peut-être sur un fichier de texte, surtout dans une production où normalement l'on désactive l'affichage des erreurs à l'écran.
Sur l'Hébergement Linux d’AMEN, en réalité les erreurs sont déjà habilitées, mais elles sont générées dans un espace qui n'est pas visible au client. Par conséquent, si l'on veut avoir un fichier de texte avec les erreurs et pouvant être utilisé par l'administrateur du site, trois opérations sont nécessaires, notamment :
- créer un répertoire pour le fichier journal dans un espace accessible à l'administrateur du site
- limiter l'accès par Internet au fichier où l'on sauvegarde le journal
- modifier le chemin du fichier php_error.log dans php.ini
Création du répertoire pour les fichiers journal
Le répertoire contenant les fichiers journal peut être créé là où l’utilisateur préfère: dans un espace accessible par Internet ou bien privé. Nous vous rappelons que - sur AMEN - le répertoire contenant du matériel visible en ligne est
/htdocs/public. Tout ce qui y est contenu est accessible par Internet d’une façon ou l’autre, sauf si l'on en interdit explicitement l'accès. Il y a aussi certains hébergements qui datent d'il y a quelques années, dont la configuration est un peu différente, mais ici nous traitons le cas le plus générique.
Nous allons créer un répertoire pour le fichier
php_error.log par FTP ou par le programme de gestion des fichiers, par exemple
/htdocs/public/www/tmp_log
Limitations d'accès au répertoire par Internet
Le fichier
php_error.log peut contenir des informations importantes, qui pourraient même "compromettre" la sécurité de votre site Internet. Cela dépend de ce que l'on dit à l'application de mettre dans le journal. Il vaut par conséquent mieux de le protéger contre un accès potentiel par Internet.
Pour faire cela, il suffit de créer un fichier
.htaccess à l'intérieur d'un dossier que l'on vient de créer par cette syntaxe
<Files php_error.log>
Order allow,deny
Deny from all
Satisfy All
</Files>
Au cas où votre fichier d'erreur ait un nom différent de
php_error.log, changez .
htaccess en conséquence.
Modification de la variable error_log dans php.ini
Pour modifier le fichier
php.ini, AMEN met à disposition de chaque client ayant un hébergement un éditeur
php.ini accessible par le panneau de commande de l'hébergement Linux à la rubrique “Gestion php.ini”
Une fois que vous rentrez dans l'éditeur, vérifiez que les journaux soient activés, vérifiant que la variable log_errors soit définie comme ci-dessous et qu'elle n'ait pas de commentaire “;” devant
log_errors = On
Par la suite, cherchez la variable
error_log et modifiez-la d'après le répertoire que vous venez de créer (voir l'exemple ci-dessous). Vérifiez que cette variable n'ait de commentaires non plus.
error_log = /htdocs/public/www/tmp_log/php_error.log
Dès que vous sauvegardez le fichier, vos scripts vont commencer à écrire les erreurs à son intérieur. Vous pourrez avoir accès au fichier par le programme de gestion des fichiers ou par FTP. En alternative, vous pourrez modifier le fichier
.htaccess permettant ainsi d'avoir accès au répertoire par nom d'utilisateur et mot de passe, ce qui permet par conséquent de consulter le fichier par Internet.