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 | <CAE50Zk7jynVL8_aUkvF3GeMFRwaXxYPE6bJT9uWyigA3b9djsA@mail.gmail.com> |
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]> a écrit :
> 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>
>> <#-275864464_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
>
--
James