Re: Un tour sur le contrôle de la vesion PH P dans la 3.2-dev
James <[email protected]>
| Newsgroups | gmane.comp.web.spip.devel |
|---|---|
| Message-ID | <CAE50Zk6i=K=HbFM1aUkoyLy93f-gM8vm7uC-KXZH=Cb67U9Y0w@mail.gmail.com> |
C'est fait. ;-) Le 30 janvier 2016 à 20:10, Cédric Morin <[email protected]> a écrit : > C'est super cool, merci ! > > De manière général si on peut utiliser PHP_VERSION_ID pour les tests de > version qui demeurent, je pense que ce serait le plus rapide (plutôt que > les substr ou version_compare) > > -- > Cédric > > > > James a écrit : > >> Allez, poum ! c'est poussé ! à vos test ! :-) >> >> S'il est décidé que finalement, c'est PHP5.4 le minimum, il sera >> possible de supprimer 2 tests supplémentaires : >> >> ecrire/inc/filtres.php:4727: if (substr(phpversion(), 0, 5) >> == '5.4.0' and !@gzinflate($env)) { >> >> et >> >> ecrire/inc/session.php:631: if (version_compare(phpversion(), >> '5.4.0', '>=')) { >> >> A+ >> >> Le 30 janvier 2016 à 18:04, James <[email protected] >> <mailto:[email protected]>> a écrit : >> >> oups, j'ai oublié spip-dev :) >> >> ---------- Message transféré ---------- >> De : *James* <[email protected] <mailto:[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] >> <mailto:[email protected]>> >> >> >> >> >> >> Le 30 janvier 2016 à 15:55, Gilles Vincent <[email protected] >> <mailto:[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 >> > >> >> >> >> <#-275864464_429219692_131414562_DDB4FAA8-2DD7-40BB-A1B8-4E2AA1F9FDF2> >> >> 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> >> >> >> >> >> >> -- >> James >> >> >> >> -- >> James >> >> >> >> >> -- >> 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