Re: Un tour sur le contrôle de la vesion PH P dans la 3.2-dev

Phenix <[email protected]>
Newsgroups gmane.comp.web.spip.devel
Message-ID <[email protected]>
Hello,

Beaucoup d'hébergements tournent sur Debian stable qui met toujours un
temps fou à suivre sur PHP (De mémoire c'est php 5.4).
Du coup, je pense qu'il serai plus judicieux de suivre l'évolution de
Debian là  dessus, histoire de ne pas forcer les hébergeurs à changer de
distribution.



Le 30/01/16 15:55, Gilles Vincent a écrit :
> Salut,
>
> 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 ? Cela permettrait de faire du
> nettoyage dans le code, n'est-ce pas ? 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.
>
> 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)..
>
>
> .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>
>
>
>
> 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>
>
>
>
>
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.