apache

Update PHP vers php 5.5.x

Je viens de passer un de mes serveurs de prod en php 5.5.

Voici trois des soucis rencontrés :

imagick: Unable to initialize module


PHP Warning: PHP Startup: imagick: Unable to initialize module
Erreur imagemagick

Solution : Mettre à jour ImageMagick

Creating default object from empty value

Message:  Creating default object from empty value
Warning ; Creating default object from empty value

Explication : Ce warning intervient peu être pour la première fois suivant le niveau d’erreur des que vous logguez. Il met en avant un soucis de logique dans le code car vous essayez de creer un objet à partir de rien

Solution : Creer un objet php à partir de la variable concerné

<?php $foo = new stdClass(); ?>

L’extension MYSQL historiquement utilisé dans beaucoup de codes est devenue obsolète.

Solution : Passer à MSQLi ou PDO ou autre …

Apache logger les erreurs

Quand vous passez votre serveur apache en prod il est très fortement conseillé de retirer l’affichage des erreurs.

Retirer l’affichage des erreurs php dans le php.ini

Une fois le php.ini ouvert cherchez la ligne display_errors et le passer et le passer à off

Loguer les erreurs

Vous avez quand même besoin de connaitre les erreurs généré par vos sites on va donc loguer ces erreurs dans un document.
Pour cela 2 choses très simple :
Cherchez log_errors et donnez lui la valeur on
ensuite cherchez  error_log et passez en paramètre le chemin du fichier log
Ex : error_log = /home/web/naouak.fr/log/err-php.log

Retirer l’affichage des erreurs php dans le htaccess

# display no errs to user
php_flag display_startup_errors off 
php_flag display_errors off
php_flag html_errors off
# log to file
php_flag log_errors on
php_value error_log /home/web/naouak.fr/log/err-php.log

Explication :
– les 3 premières lignes retire l’affichage des erreurs sur le site
– Les 2 dernières lignes activent le log des erreurs ainsi que la localisation

src : http://www.catswhocode.com/blog/10-htaccess-snippets-to-optimize-your-website