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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.