Re: Un tour sur le contrôle de la vesion PH P dans la 3.2-dev
Cédric Morin <[email protected]>
| Newsgroups | gmane.comp.web.spip.devel |
|---|---|
| Message-ID | <[email protected]> |
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