Re: Un tour sur le contrôle de la vesion PH P dans la 3.2-dev
Phenix <[email protected]>
| Newsgroups | gmane.comp.web.spip.devel |
|---|---|
| Message-ID | <[email protected]> |
Hello, Beaucoup d'hébergements tournent sur Debian stable qui met toujours un temps fou à suivre sur PHP (De mémoire c'est php 5.4). Du coup, je pense qu'il serai plus judicieux de suivre l'évolution de Debian là dessus, histoire de ne pas forcer les hébergeurs à changer de distribution. Le 30/01/16 15:55, Gilles Vincent a écrit : > 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> > > > > 2016-01-30 14:48 GMT+01:00 James <[email protected] <mailto:[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 <http://irc.freenode.net/spip> > > > >