Fwd: Un tour sur le contrôle de la v esion PHP dans la 3.2-dev
James <[email protected]>
| Newsgroups | gmane.comp.web.spip.devel |
|---|---|
| Message-ID | <CAE50Zk4QOAHkW8rZu-VwZYLPHUMn3J9f-7hTxL5CrVMnxjge1w@mail.gmail.com> |
oups, j'ai oublié spip-dev :) ---------- Message transféré ---------- De : James <[email protected]> Date : 30 janvier 2016 à 17:54 Objet : Re: [spip-dev] Un tour sur le contrôle de la vesion PHP dans la 3.2-dev À : Gilles Vincent <[email protected]> Le 30 janvier 2016 à 15:55, Gilles Vincent <[email protected]> a écrit : > Salut, > Yo, > > 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 ? > C'est déjà décidé, me semble-t-il : https://core.spip.net/projects/spip/repository/revisions/22713 > Cela permettrait de faire du nettoyage dans le code, n'est-ce pas ? > C'est déjà possible pour PHP>=5.3 > 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. > ou PHP 7 :-) (Si tu vas par là, PHP5.5, c'est fini en juin de cette année) CentOS 5 sera supporté jusqu'en mars 2017 et propose encore PHP 5.3 Cf. le mail de phenix pour Debian ... > 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).. > Pas d'accord. l'incrément de l'identifiant de version mineur suffit. C'est un changement de contrainte sur une *dépendance*, pas sur l'API. > > > .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> > <#429219692_131414562_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 >> > > -- James -- James