THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3

Offline

#1 Thélia 1.5.1 et PHP 5.4

(08-03-2012 17:58:47)


Bonjour,

Lors de l'installation de thelia 1.5.1 avec un PHP 5.4 les erreurs suivantes sont apparues :

Strict Standards: Declaration of [] should be compatible with []

Un changement de la variable error_reporting n'y a rien fait, le type d'erreur E_STRICT fait partie intégrante du type d'erreur E_ALL (avec PHP 5.4)

donc une ligne du style :

; Production Value:
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT

ne supprime pas les messages d'erreurs.

En mettant la variable display_errors = off, les messages d'erreurs sont supprimés de l'affichage, mais le dev devient problématique sans messages d'erreurs.

La solution est de renvoyer les messages d'erreurs dans un fichier avec les variables log_errors et error_log.

Voici donc les modifications a faire dans votre php.ini si vous faites tourner Thélia 1.5.1 sous PHP 5.4 :

; en reporte toutes les erreurs tant qu'a faire
error_reporting = E_ALL
; on evite que thélia ou toutes autre appli web affiche les erreurs
display_errors  = off
; on dit a php de "logger" les erreurs
log_errors      = On
; dans un fichier bien spécifique
error_log       = /var/log/apache2/thelia_php_error.log

Le serveur (Apache ou autre) devra bien sur avoir les droits d'ecriture sur le fichier spécifié.

Si vous avez plusieurs sites, vous pouvez utilisez un .htaccess pour changer ces valeurs que pour le site utilisant Thélia de la manière suivante :

1/ Créer un fichier .htaccess a la racine du site utilisant Thélia
2/ le contenu du fichier devra contenir ces directives :

php_flag display_errors off
php_flag log_errors on
php_value error_log /var/log/apache2/thelia_php_error.log

De cette manière les autres sites prendront leurs paramètres du php.ini, et seul le site utilisant Thélia aura les erreurs redirigé vers le fichier de log spécifique.

PS: si vous voulez voir les erreurs généré par Thélia lancez la commande suivante (Linux uniquement) :

>tail -f /var/log/apache2/thelia_php_error.log

Bon maintenant que j'ai installé Thélia, ben y' plus qu'a wink

Voili , voilou, voila...