r21790 - spip/ecrire/req

Author: gilles.vincent@gmail.com
Date: 2014-11-11 12:01:13 +0100 (mar, 11 nov 2014)
New Revision: 21790

Log:
Quand on se connect sur un port non standard, il faut que celui-ci soit en 5e parametre
http://php.net/manual/fr/mysqli.construct.php

En cas d'erreur il faut aussi utiliser la bonne fonction.

Question : a-t-on besoin de garder le "mysqli_select_db" separe ? Cette partie semble obsolete.
http://php.net/manual/en/mysqlinfo.api.choosing.php

Le choix force de ext/mysqli dans le commit [21637] est peut-etre a revoir.
PDO_MySql reste dans les extensions recommandees pour les nouveaux projets.

Modified:
   spip/ecrire/req/mysql.php

Details: http://core.spip.org/projects/spip/repository/revisions/21790

Hop,

Le 11/11/2014 12:01, gilles.vincent@gmail.com a écrit :

Details: Quand on se connect sur un port non standard, il faut que celui-ci soit en 5e parametre (b84f6021) · Validations · spip / spip · GitLab

Merci pour le fix, juste une remarque à propos du split() qui pourrait avantageusement être remplacé par un explode().

split() est obsolète depuis PHP 5.3.0. Utilisez plutôt la fonction preg_split(). Si vous n'avez pas besoin de la puissance des expressions rationnelles, il est plus rapide d'utiliser explode(), qui n'utilise pas le moteur d'expressions rationnelles.

http://php.net/manual/fr/function.split.php

++
b_b

oups'
Merci

Bon, il reste que jusqu'à PHP 5.5.0, ext/mysql n'est pas deprecated. Il
faudrait donc garder le support de ext/mysql à mon avis, tant que SPIP est
compatible avec les versions < 5.5 de PHP

2014-11-11 12:10 GMT+01:00 Bruno Bergot <brunobergot@gmail.com>:

Hop,

Le 11/11/2014 12:01, gilles.vincent@gmail.com a écrit :

Details: http://core.spip.org/projects/spip/repository/revisions/21790

Merci pour le fix, juste une remarque à propos du split() qui pourrait
avantageusement être remplacé par un explode().

split() est obsolète depuis PHP 5.3.0. Utilisez plutôt la fonction
preg_split(). Si vous n'avez pas besoin de la puissance des expressions
rationnelles, il est plus rapide d'utiliser explode(), qui n'utilise pas le
moteur d'expressions rationnelles.

http://php.net/manual/fr/function.split.php

++
b_b

Hello,

Ce commit pète complètement le site.
On a le warning :

*Warning: mysqli_connect() expects parameter 5 to be long, string given in
/Users/Eric/Sites/SPIP31/ecrire/req/mysql.php on line 41*

et le site passe en travaux, plus moyen de corriger.
As-tu testé ce commit ? Passe-t-il vraiment chez toi ?

++
Eric

Le 11 novembre 2014 12:19, Gilles Vincent <gilles.vincent@gmail.com> a
écrit :

oups'
Merci

Bon, il reste que jusqu'à PHP 5.5.0, ext/mysql n'est pas deprecated. Il
faudrait donc garder le support de ext/mysql à mon avis, tant que SPIP est
compatible avec les versions < 5.5 de PHP

2014-11-11 12:10 GMT+01:00 Bruno Bergot <brunobergot@gmail.com>:

> Hop,
>
> Le 11/11/2014 12:01, gilles.vincent@gmail.com a écrit :
>
>
>> Details: http://core.spip.org/projects/spip/repository/revisions/21790
>>
>>
> Merci pour le fix, juste une remarque à propos du split() qui pourrait
> avantageusement être remplacé par un explode().
>
> split() est obsolète depuis PHP 5.3.0. Utilisez plutôt la fonction
> preg_split(). Si vous n'avez pas besoin de la puissance des expressions
> rationnelles, il est plus rapide d'utiliser explode(), qui n'utilise pas
le
> moteur d'expressions rationnelles.
>
> http://php.net/manual/fr/function.split.php
>
> ++
> b_b
>
_______________________________________________
spip-commit@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-commit
dev: http://trac.rezo.net/trac/spip/

oui, testé sur forum.spip.net.
Est-ce que ça fonctionne mieux si tu remplaces la ligne 40 par
       if ($port > 0) {

??
C'était le test qu'il y avait avant.
J'imagine que tu n'utilises pas de port, donc tu ne devrais pas passer par
la ligne 41

2014-11-11 15:40 GMT+01:00 Eric <eric@smellup.net>:

Hello,

Ce commit pète complètement le site.
On a le warning :

*Warning: mysqli_connect() expects parameter 5 to be long, string given in
/Users/Eric/Sites/SPIP31/ecrire/req/mysql.php on line 41*

et le site passe en travaux, plus moyen de corriger.
As-tu testé ce commit ? Passe-t-il vraiment chez toi ?

++
Eric

Le 11 novembre 2014 12:19, Gilles Vincent <gilles.vincent@gmail.com> a
écrit :

oups'
Merci

Bon, il reste que jusqu'à PHP 5.5.0, ext/mysql n'est pas deprecated. Il
faudrait donc garder le support de ext/mysql à mon avis, tant que SPIP est
compatible avec les versions < 5.5 de PHP

2014-11-11 12:10 GMT+01:00 Bruno Bergot <brunobergot@gmail.com>:

> Hop,
>
> Le 11/11/2014 12:01, gilles.vincent@gmail.com a écrit :
>
>
>> Details: http://core.spip.org/projects/spip/repository/revisions/21790
>>
>>
> Merci pour le fix, juste une remarque à propos du split() qui pourrait
> avantageusement être remplacé par un explode().
>
> split() est obsolète depuis PHP 5.3.0. Utilisez plutôt la fonction
> preg_split(). Si vous n'avez pas besoin de la puissance des expressions
> rationnelles, il est plus rapide d'utiliser explode(), qui n'utilise
pas le
> moteur d'expressions rationnelles.
>
> http://php.net/manual/fr/function.split.php
>
> ++
> b_b
>
_______________________________________________
spip-commit@rezo.net -
http://listes.rezo.net/mailman/listinfo/spip-commit
dev: http://trac.rezo.net/trac/spip/

Le 11 novembre 2014 16:26, Gilles Vincent <gilles.vincent@gmail.com> a
écrit :

oui, testé sur forum.spip.net.
Est-ce que ça fonctionne mieux si tu remplaces la ligne 40 par
       if ($port > 0) {

??
C'était le test qu'il y avait avant.
J'imagine que tu n'utilises pas de port, donc tu ne devrais pas passer par
la ligne 41

J'ai corrigé en mettant le même test qu'auparavant. Je vois pas pourquoi
l'avoir changé d'ailleurs.
Sinon, je ne pense pas que tu aies testé le cas sans port qui est le plus
courant ou alors c'est que j'ai une config particulière ?

++
Eric

C'est une erreur de ma part, le test d'avant servait à construire la chaine
"serveur:port", donc il ne faut pas remettre exactement le même.
Il faut mettre
if ($port) {
C'est plus simple et plus rapide que de comparer des chaines de caractère.

Mais bon, l'erreur que je voulais corriger est ailleurs :
la chaine "serveur:port" est assemblée à un autre endroit - il n'y a pas de
raison de devoir faire le test strpos($host,':'). Je pense que c'est quand
le fichier connect.php est lu.

Cette fois-ci je ferai un test avec ou sans port :wink:

2014-11-11 16:42 GMT+01:00 Eric <eric@smellup.net>:

Le 11 novembre 2014 16:26, Gilles Vincent <gilles.vincent@gmail.com> a
écrit :

oui, testé sur forum.spip.net.
Est-ce que ça fonctionne mieux si tu remplaces la ligne 40 par
       if ($port > 0) {

??
C'était le test qu'il y avait avant.
J'imagine que tu n'utilises pas de port, donc tu ne devrais pas passer
par la ligne 41

J'ai corrigé en mettant le même test qu'auparavant. Je vois pas pourquoi
l'avoir changé d'ailleurs.
Sinon, je ne pense pas que tu aies testé le cas sans port qui est le plus
courant ou alors c'est que j'ai une config particulière ?

++
Eric