Bonjour, Comme d'autres j'ai constaté quelques changements suite à la mise à jour PHP. Et si elle n'est pas la seule, j'ai repéré l'une des causes et le moyen d'y remédier. *** Ce qui changé Avec le passage en version supérieure, sont également stockés dans le fichier error.log PHP les Warning (alertes PHP) correspondant au niveau d'erreur E_STRICT (le niveau le plus stricte concernant la syntaxe PHP). *** Conséquence De nombreuses alertes qui étaient invisibles et indolores sont désormais prises en compte. Elles sont également ajoutée au fichier error.log qui peut très rapidement grossir. Mon instance s'est arrêté lorsque le fichier à atteint le Giga ! *** Que faire Il faut donc vérifier que son code est STRICT compatible; pour cela il faut éditer le fichier php.ini et remplacer la ligne "error_reporting = E_ALL" par : "error_reporting = E_ALL | E_STRICT" La version locale de son site fera apparaître toutes les alertes qui semblent ralentir le site et permettra de les corriger. Pour ceux qui utilisent des applications tiers, comme un CMS et qui préfère ne rien toucher, il faudra attendre une mise à jour. Concrètement la seule alerte qui est apparu dans mon cas, est la non-déclaration d'un objet. Pour déclarer l'objet monObjet avec une variable maVariable de valeur "1", je n'avais qu'une ligne: $monObjet->maVariable = 1; Ce qui générait l'alerte "PHP Error: Creating default object from empty value" Il faut désormais déclarer l'instance de l'objet, ce qui revient à ajouter la ligne suivante: $monObjet = new stdClass(); $monObjet->maVariable = 1; Voilà, Bon courage à tous.
Gandi Simple Hosting: Mise à jour PHP et implications
Vous devez être connecté pour poster de nouveaux messages. Créer un compte.
- Par :
Hami - Date : le 13 juil. 2012 à 16:22
- Sujet : Mise à jour PHP et implications
- Par :
Michel ABASSI - Date : le 13 juil. 2012 à 16:41
- Sujet : Re: Mise à jour PHP et implications
Bonjour Hami
*** Ce qui changé Avec le passage en version supérieure, sont également stockés dans le fichier error.log PHP les Warning (alertes PHP) correspondant au niveau d'erreur E_STRICT (le niveau le plus stricte concernant la syntaxe PHP). *** Conséquence De nombreuses alertes qui étaient invisibles et indolores sont désormais prises en compte. Elles sont également ajoutée au fichier error.log qui...
Oui effectivement, j'ai vu ça hier et en prime erreur 503, donc pas de site web accessible (à part la page de l'erreur 503, ce qui veut dire que le serveur est encore là :-) L'accès est toujours possible par ftp. Une question, comment accédez-vous au php.ini ni ou my.cnf sur Simple Hosting? Cordialement. Michel
- Par :
Hami - Date : le 13 juil. 2012 à 16:50
- Sujet : Re: Mise à jour PHP et implications
Une question, comment accédez-vous au php.ini ni ou my.cnf sur Simple Hosting?
Je n'y accède pas; et comme aucune configuration n'est possible côté serveur, j'ai du adapter ma configuration locale pour être sûr que tout ce qui fonctionne chez moi fonctionnera chez eux. C'est donc mon fichier php.ini que j'ai mis à jour, pour le caler sur la version du serveur. Il existe peut-être d'autre manière de modifier le niveau d'erreur PHP, par exemple via le .htaccess, je l'ignore, mais tant qu'à faire si le mode E_STRICT permet d'améliorer son code PHP, ce n'est pas peine perdue.
- Par :
xemaps - Date : le 13 juil. 2012 à 19:25
- Sujet : Re: Mise à jour PHP et implications
Etes vous vraiment sur gandi hosting ? Il n'y a pas à ma connaissance *pour l'instant* de php.ini modifiable. Il y a eu un petit moment ou le error_reporting était plus strict, ce qui occasiona des effets boule de neige à cause des logs. Et sans redemarrage de l'instance pas de nouvelle config... On est en php 5.4.4-2 en error_reporting 22519 E_ALL & ~E_NOTICE & ~E_DEPRECATED donc normalement pas de souci spécifique en vue. La plupart des fonctions dépréciées fonctionneront encore, au fur à mesure des maj php, et disparaitront. Si votre code est trop vieux, ne l'utilisez plus, c'est dangeureux ! PHP 4 derniere version 2008, PHP 5 existe depuis 2004, bientôt PHP 6... ciao
- Par :
Michel ABASSI - Date : le 14 juil. 2012 à 00:23
- Sujet : Re: Mise à jour PHP et implications
C'est donc mon fichier php.ini que j'ai mis à jour, pour le caler sur la version du serveur.
OK, c'est bien du php.ini local dont vous parlez. Vous l'avez paramétré de façon à "simuler" la config existante chez Gandi, sur laquelle vous n'avez pas la main. :-) Compris.
E_STRICT permet d'améliorer son code PHP, ce n'est pas peine perdue.
Je suis d'accord, un code "propre" c'est bien. Mais là, mettre la main dans Joomla et modifier tout ce qui ne respecte pas le niveau d'exigence du code attendu, c'est beaucoup, beaucoup de temps à passer à modifier modules et plugins et même Joomla core (?)... Je préfèrerais, avoir le choix et "ignorer" les erreurs qui n'ont pas à être interprétées et qui ne devraient pas mettre le moteur PHP dans les choux. Cordialement. Michel
- Par :
jean-paul Garrigos - Date : le 15 juil. 2012 à 09:45
- Sujet : Re: Mise à jour PHP et implications
Bonjour, Des problèmes égalements "visibles" sous Drupal : Warning : preg_match(): Compilation failed: disallowed Unicode code point (>= 0xd800 && <= 0xdfff) at offset 2112 dans truncate_utf8() (ligne 339 dans /srv/data/web/vhosts/XXXX/htdocs/includes/unicode.inc). Il ne s'agit que d'un Warning, peut être déjà existant avant la mise à jour de l'instance. Il s'agit d'un bug connu de Drupal j'ai l'impression que celà dépend de la version d'une librairie installée sur le serveur. Cordialement JP Le 13 juil 2012 à 16:22 CEST, Hami a écrit :
Bonjour, Comme d'autres j'ai constaté quelques changements suite à la mise à jour PHP. Et si elle n'est pas la seule, j'ai repéré l'une des causes et le moyen d'y remédier. *** Ce qui changé Avec le passage en version supérieure, sont également stockés dans le fichier error.log PHP les Warning (alertes PHP) correspondant au niveau d'erreur E_STRICT (le niveau le plus stricte concernant la syntaxe PHP). *** Conséquence De nombreuses alertes qui étaient invisibles et indolores sont désormais prises en compte. Elles sont également ajoutée au fichier error.log qui peut très rapidement grossir. Mon instance s'est arrêté lorsque le fichier à atteint le Giga ! *** Que faire Il faut donc vérifier que son code est STRICT compatible; pour cela il faut éditer le fichier php.ini et remplacer la ligne "error_reporting = E_ALL" par : "error_reporting = E_ALL | E_STRICT" La version locale de son site fera apparaître toutes les alertes qui semblent ralentir le site et permettra de les corriger. Pour ceux qui utilisent des applications tiers, comme un CMS et qui préfère ne rien toucher, il faudra attendre une mise à jour. Concrètement la seule alerte qui est apparu dans mon cas, est la non-déclaration d'un objet. Pour déclarer l'objet monObjet avec une variable maVariable de valeur "1", je n'avais qu'une ligne: $monObjet->maVariable = 1; Ce qui générait l'alerte "PHP Error: Creating default object from empty value" Il faut désormais déclarer l'instance de l'objet, ce qui revient à ajouter la ligne suivante: $monObjet = new stdClass(); $monObjet->maVariable = 1; Voilà, Bon courage à tous.
- Par :
Frederic M - Date : le 16 juil. 2012 à 13:21
- Sujet : Re: Mise à jour PHP et implications
Bonjour, Gandi est-il au courant de ce problème ? Quand vont-ils proposer une mise à jour ?? Mon site est complètement à plat à cause de çà: http://www.visipure.com/immobilier/immobil... Merci.
www.visipure.com
- Par :
William - Date : le 16 juil. 2012 à 17:30
- Sujet : Re: Mise à jour PHP et implications
Le 13 juil 2012 à 19:25 CEST, xemaps a écrit :
On est en php 5.4.4-2 en error_reporting 22519 E_ALL & ~E_NOTICE & ~E_DEPRECATED donc normalement pas de souci spécifique en vue.
tout à fait. la conf est la suivante cote logs: error_reporting = E_ALL & ~E_STRICT & ~E_NOTICE & ~E_DEPRECATED
William
- Par :
William - Date : le 16 juil. 2012 à 17:33
- Sujet : Re: Mise à jour PHP et implications
Le 16 juil 2012 à 13:21 CEST, Frederic M a écrit :
Mon site est complètement à plat à cause de çà: http://www.visipure.com/immobilier/immobil...
le problème que vous indiqué est relatif à votre code qui n'est pas compatible avec php5.4. Il faut veiller à utiliser la dernière version disponible de votre appli si c'est un projet externe ou corriger votre code si le projet vous appartient.
William
- Par :
Frederic M - Date : le 16 juil. 2012 à 17:42
- Sujet : Re: Mise à jour PHP et implications
Le 16 juil 2012 à 17:33 CEST, William a écrit :
Le 16 juil 2012 à 13:21 CEST, Frederic M a écrit :Mon site est complètement à plat à cause de çà: http://www.visipure.com/immobilier/immobil...le problème que vous indiqué est relatif à votre code qui n'est pas compatible avec php5.4. Il faut veiller à utiliser la dernière version disponible de votre appli si c'est un projet externe ou corriger votre code si le projet vous appartient.
La version de cette appui est la plus récente. Puis-je remettre mon instance à la version précédente ?
www.visipure.com
- Par :
William - Date : le 16 juil. 2012 à 19:22
- Sujet : Re: Mise à jour PHP et implications
Le 16 juil 2012 à 17:42 CEST, Frederic M a écrit :
La version de cette appui est la plus récente. Puis-je remettre mon instance à la version précédente ?
Dans certains cas on peut envisager cela histoire de vous laisser un peu plus de temps pour migrer. Il faut alors passer par une demande support.
William
- Par :
Manu - Date : le 17 juil. 2012 à 15:41
- Sujet : Re: Mise à jour PHP et implications
Le 16 juil 2012 à 19:22 CEST, William a écrit :
Le 16 juil 2012 à 17:42 CEST, Frederic M a écrit :La version de cette appui est la plus récente. Puis-je remettre mon instance à la version précédente ?Dans certains cas on peut envisager cela histoire de vous laisser un peu plus de temps pour migrer. Il faut alors passer par une demande support.
Bonjour,
Il y a en effet des logs d'erreur... :
[17-Jul-2012 12:26:25 UTC] PHP Fatal error: Call-time pass-by-reference has
been removed in
/srv/data/web/vhosts/www.djmanuelchino.com/htdocs/wp-content/themes/photolio/functions.php
on line 827
[17-Jul-2012 12:26:25 UTC] PHP Stack trace:
[17-Jul-2012 12:26:25 UTC] PHP 1. {main}()
/srv/data/web/vhosts/www.djmanuelchino.com/htdocs/index.php:0
[17-Jul-2012 12:26:25 UTC] PHP 2. require()
/srv/data/web/vhosts/www.djmanuelchino.com/htdocs/index.php:17
[17-Jul-2012 12:26:25 UTC] PHP 3. require_once()
/srv/data/web/vhosts/www.djmanuelchino.com/htdocs/wp-blog-header.php:12
[17-Jul-2012 12:26:25 UTC] PHP 4. require_once()
/srv/data/web/vhosts/www.djmanuelchino.com/htdocs/wp-load.php:29
[17-Jul-2012 12:26:25 UTC] PHP 5. require_once()
/srv/data/web/vhosts/www.djmanuelchino.com/htdocs/wp-config.php:100
En revanche, je suis débutant en web, pouvez vous me "traduire" le
problème ?
Si je comprends bien le fichier "functions.php" de mon thème wordpress est
à l'origine du problème ?
- Par : Paul C.
- Date : le 17 juil. 2012 à 17:50
- Sujet : Re: Mise a jour PHP et implications
Michel ABASSI avait prétendu :
Je suis d'accord, un code "propre" c'est bien. Mais la, mettre la main dans Joomla et modifier tout ce qui ne respecte pas le niveau d'exigence du code attendu, c'est beaucoup, beaucoup de temps
Faut prendre une instance serveur dédiée alors...
- Par :
William - Date : le 18 juil. 2012 à 12:55
- Sujet : Re: Mise à jour PHP et implications
Le 17 juil 2012 à 15:41 CEST, Manu a écrit :
En revanche, je suis débutant en web, pouvez vous me "traduire" le problème ? Si je comprends bien le fichier "functions.php" de mon thème wordpress est à l'origine du problème ?
Le mieux reste de remonter le problème à l'auteur du plugin en question. Wordpress possède un support dédié pour chaque plugin. Dans ce cas précis c'est un problème de compatibilité entre php5.3 et php5.4 voir http://fr.php.net/manual/en/language.refer... la solution est de transformer function myFunc(&$arg) en function myFunc($arg) en attendant, fixer le problème soit meme peut etre quelque chose comme: grep '&$' `find . -name '*.php' -xtype f` sed 's/&$/$/g' lesfichiers.php
William
- Par :
Manu - Date : le 18 juil. 2012 à 14:11
- Sujet : Re: Mise à jour PHP et implications
Le 18 juil 2012 à 12:55 CEST, William a écrit :
Le 17 juil 2012 à 15:41 CEST, Manu a écrit :En revanche, je suis débutant en web, pouvez vous me "traduire" le problème ? Si je comprends bien le fichier "functions.php" de mon thème wordpress est à l'origine du problème ?Le mieux reste de remonter le problème à l'auteur du plugin en question. Wordpress possède un support dédié pour chaque plugin. Dans ce cas précis c'est un problème de compatibilité entre php5.3 et php5.4 voir http://fr.php.net/manual/en/language.refer... la solution est de transformer function myFunc(&$arg) en function
Merci pour ces précieux renseignements, je remonterai le problème à l'auteur du thème
myFunc($arg) en attendant, fixer le problème soit meme peut etre quelque chose comme: grep '&$' `find . -name '*.php' -xtype f` sed 's/&$/$/g' lesfichiers.php



