Re: Un tour sur le contrôle de la vesion PH P dans la 3.2-dev
Gilles Vincent <[email protected]>
| Newsgroups | gmane.comp.web.spip.devel |
|---|---|
| Message-ID | <CA+Q4Cmt=hDmTLkpoEBN68+3_GRQ8fZ1u=CLeYsdhC77bb4rcLQ@mail.gmail.com> |
Salut, plutôt que de se raccrocher sur la version la plus basse possible, est-ce qu'il ne vaudrait pas mieux envisager de faire une version compatible que pour php >= 5.5 ? Cela permettrait de faire du nettoyage dans le code, n'est-ce pas ? Et peut-être d'envisager des pistes d'amélioration non explorées à cause de ce maintient de compatibilité ? Pour rappel, PHP 5.4 est obsolète depuis l'année dernière http://php.net/supported-versions.php Forcer à utiliser PHP 5.5 (ou 5.6) pour une prochaine version majeure est l'occasion d'inciter les utilisateurs à éviter les hébergeurs moisis qui ne maintiennent pas leur hébergement. A y réfléchir, ce type de contrainte ne peut certainement se faire qu'avec un changement de version majeure (donc une 4.0).. .Gilles Cet e-mail a été envoyé depuis un ordinateur protégé par Avast. www.avast.com <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail> <#DDB4FAA8-2DD7-40BB-A1B8-4E2AA1F9FDF2> 2016-01-30 14:48 GMT+01:00 James <[email protected]>: > Coucou, > > j'ai fait quelques `grep` pour voir où SPIP en était dans ses contôles de > version PHP. > > 1/ recherche des appels à phpversion() > > grep -rin phpversion * > > ecrire/inc/cookie.php:60: ($httponly and strnatcmp(phpversion(), > '5.2.0') >= 0) ? > ecrire/inc/filtres.php:4727: if (substr(phpversion(), 0, 5) == > '5.4.0' and !@gzinflate($env)) { > ecrire/inc/filtres_ecrire.php:454: if (version_compare(phpversion(), > _PHP_MIN) == -1) { > ecrire/inc/filtres_ecrire.php:456: array('min' => _PHP_MIN, > 'version' => phpversion())); > ecrire/inc/install.php:169: $p = phpversion(); > ecrire/inc/session.php:631: if (version_compare(phpversion(), '5.4.0', > '>=')) { > ecrire/plugins/get_infos.php:128: $ret['procure']['php'] = > array('nom' => 'php', 'version' => phpversion()); > plugins-dist/safehtml/lib/safehtml/classes/HTMLSax3/Decorators.php:75:if > (version_compare(phpversion(), '4.3', '<') && > !function_exists('html_entity_decode') ) { > plugins-dist/safehtml/lib/safehtml/classes/HTMLSax3.php:223: if > (version_compare(phpversion(), '4.3', 'ge')) { > > Selon moi, le test dans inc/cookie peut être supprimé. > dans inc/filtres_ecrire, je ne vois pas bien à quoi ça sert. > dans le plugin safehtml, il me semble qu'il faut plutôt chercher une > alternative à cette lib. > > c'est surtout dans inc/install que le boutot devrait se faire (la version > minimum y est toujours 5.1.0 d'ailleurs... > > 2/ recherche de l'utilisation de _PHP_MIN : > > grep -rn _PHP_MIN * > > ecrire/inc/filtres_ecrire.php:454: if (version_compare(phpversion(), > _PHP_MIN) == -1) { > ecrire/inc/filtres_ecrire.php:456: array('min' => _PHP_MIN, > 'version' => phpversion())); > ecrire/inc_version.php:36:define('_PHP_MIN', '5.3.0'); > > idem pour inc/filtres-ecrire > ecrire/inc_version.php, OK. > > 3/ recherche de PHP_VERSION_ID : > > grep -rn PHP_VERSION_ID * > > ecrire/inc/flock.php:460: if (!defined('PHP_VERSION_ID') || > PHP_VERSION_ID < 50300) { > ecrire/inc/utils.php:2298: // PHP_VERSION_ID dispo depuis PHP 5.2.7 > ecrire/inc/utils.php:2299: if (!defined('PHP_VERSION_ID')) { > ecrire/inc/utils.php:2301: define('PHP_VERSION_ID', ($version[0] * > 10000 + $version[1] * 100 + $version[2])); > ecrire/inc/utils.php:2331: if (PHP_VERSION_ID<50300) { > > les 2 tests dans in/utils ne sont plus nécessaires > dans inc/flock, c'est la fonction spip_clearstatcache qui n'est plus utile > et qui pourrait être remplacée par la fonction native partout : > > 3bis/ > grep -rn spip_clearstatcache * > > ecrire/inc/filtres.php:5758: spip_clearstatcache(true, > $filename); // eviter que PHP ne reserve le vieux timestamp > ecrire/inc/flock.php:459:function > spip_clearstatcache($clear_realpath_cache = false, $filename = null) { > ecrire/inc/flock.php:474: spip_clearstatcache(true, $filepath); > plugins-dist/compresseur/inc/compresseur_concatener.php:139: > spip_clearstatcache(true, $nom_tmp); > plugins-dist/compresseur/inc/compresseur_concatener.php:151: > spip_clearstatcache(true, $nom); > plugins-dist/compresseur/inc/compresseur_minifier.php:300: > spip_clearstatcache(true, $file); > > 4/ enfin, recherche de PHP_VERSION_ID : > grep -rn PHP_VERSION_ID * > > ecrire/inc/flock.php:460: if (!defined('PHP_VERSION_ID') || > PHP_VERSION_ID < 50300) { > ecrire/inc/utils.php:2298: // PHP_VERSION_ID dispo depuis PHP 5.2.7 > ecrire/inc/utils.php:2299: if (!defined('PHP_VERSION_ID')) { > ecrire/inc/utils.php:2301: define('PHP_VERSION_ID', ($version[0] * > 10000 + $version[1] * 100 + $version[2])); > ecrire/inc/utils.php:2331: if (PHP_VERSION_ID<50300) { > > idem que 3/ > > J'ai un patch tout prêt pour le core. Reste à savoir si le plugin > compresseur (qui utilise spip_clearstatcache() supporterai l'appel natif > dans une version antérieure à 3.2-dev > > > Des avis ? > > Bisou, > -- > James > > _______________________________________________ > liste: http://listes.rezo.net/mailman/listinfo/spip-dev > doc: http://www.spip.net/ > dev: http://trac.rezo.net/trac/spip/ > irc://irc.freenode.net/spip >