[spip-dev] SPIP fuit

Bonjour mes petits, me revoilà reloaded avec une adresse email sainte et pure.

Version courte

Comme j'écrivais hier à notre bien-aimé Cédric, je crois que SPIP fuit.
En local, si je place deux SPIPS dans ma machine, l'un déteint sur l'autre (ils ne sont pas indépendants en function du répertoire, quoi).

TLDR;

À savoir, si mon server est

  /Library/WebServer/Documents
  
  /Library/WebServer/Documents/SPIPa/
déteint sur
  /Library/WebServer/Documents/SPIPb/
  
chose que ne se produit pas avec WP (les deux sites sont indépendants)
  /Library/WebServer/Documents/wpa/
  /Library/WebServer/Documents/wpb/

Premier arrivé, premier servi. Au démarrage, c'est le premier site visité qui tient la route, et quand on visite le deuxième (les deux sites avec rien dans tmp ni local), on se prend ça dans le gencives

  ( ! ) Fatal error: Cannot redeclare f_queue() (previously declared in /Library/WebServer/Documents/SPIPa/ecrire/inc/pipelines.php:255) in /Library/WebServer/Documents/SPIPb/ecrire/inc/pipelines.php on line 255

Si on recalcule la page, tout explose

  ( ! ) Fatal error: Cannot redeclare formulaire__identifier() (previously declared in /Library/WebServer/Documents/SPIPa/ecrire/balise/formulaire_.php:338) in /Library/WebServer/Documents/SPIPb/ecrire/balise/formulaire_.php on line 338

et une myriade de logs que je vous épargne.

Je suis incapable de préciser quand ça a commencé (je veux dire par là qu'il fût un temps ou le comportement était comme n'importe quel autre script PHP, qui restent bien sages dans leur répertoires).

J'ai fait des tests avec la même version et avec des différentes,
svn info
  Working Copy Root Path: /Library/WebServer/Documents/SPIPa
  URL: svn://trac.rezo.net/spip/spip
  Relative URL: ^/spip
  Repository Root: svn://trac.rezo.net/spip
  Repository UUID: caf5f3e8-d4fe-0310-bb3e-c32d5e47d55d
  Revision: 24408

  Working Copy Root Path: /Library/WebServer/Documents/SPIPb
  URL: svn://trac.rezo.net/spip/branches/spip-3.2
  Relative URL: ^/branches/spip-3.2
  Repository Root: svn://trac.rezo.net/spip
  Repository UUID: caf5f3e8-d4fe-0310-bb3e-c32d5e47d55d
  Revision: 24418

Les deux bestioles sont logés dans ma machine

Database server
     Server: 127.0.0.1 via TCP/IP
     Server type: MySQL
     Server connection: SSL is not being used Documentation
     Server version: 5.7.19 - MySQL Community Server (GPL)
     Protocol version: 10
     User: root@localhost
     Server charset: cp1252 West European (latin1)

Web server
     Apache/2.4.39 (Unix) OpenSSL/1.0.2r
     Database client version: libmysql - mysqlnd 5.0.12-dev - 20150407 - $Id: b396954eeb2d1d9ed7902b8bae237b287f21ad9e $
     PHP extension: mysqliDocumentation curlDocumentation mbstringDocumentation
     PHP version: 7.1.13

PHP info

  PHP Version 7.1.13
  php-osx.liip.ch by Liip (originally developed by www.local.ch)
  System Darwin Luis.local 17.7.0 Darwin Kernel Version 17.7.0: Thu Dec 20 21:47:19 PST 2018; root:xnu-4570.71.22~1/RELEASE_X86_64 x86_64
  Build Date Feb 1 2018 13:37:05
  Configure Command './configure' '--prefix=/usr/local/php5' '--with-apxs2=/usr/sbin/apxs' '--with-config-file-scan-dir=/usr/local/php5/php.d' '--with-libxml-dir=shared,/usr' '--with-openssl=/usr/local/php5' '--with-zlib=/usr' '--with-zlib-dir=/usr' '--with-gd' '--with-ldap' '--with-xmlrpc' '--enable-exif' '--enable-soap' '--enable-wddx' '--enable-ftp' '--with-iodbc' '--enable-sockets' '--with-bz2=/usr' '--enable-zip' '--enable-shmop' '--enable-sysvsem' '--enable-sysvshm' '--enable-sysvmsg' '--enable-mbstring' '--enable-bcmath' '--enable-calendar' '--with-mhash' '--enable-fpm' '--with-mysql=mysqlnd' '--with-mysqli=mysqlnd' '--with-pdo-mysql=mysqlnd' '--enable-pcntl' '--enable-dtrace' '--disable-phpdbg' '--enable-opcache' '--with-icu-dir=/usr/local/php5' '--with-xsl=shared,/usr/local/php5' '--with-imap=shared,../imap-2007f' '--with-kerberos=/usr' '--with-imap-ssl=/usr/local/php5' '--with-gettext=/usr/local/php5' '--with-curl=shared,/usr/local/php5' '--with-png-dir=/usr/local/php5' '--with-jpeg-dir=/usr/local/php5' '--enable-gd-native-ttf' '--with-freetype-dir=/usr/local/php5' '--with-pgsql=shared,/usr/local/php5' '--with-pdo-pgsql=shared,/usr/local/php5' '--with-mcrypt=shared,/usr/local/php5' '--with-tidy=/usr/local/php5' '--with-gmp=shared,/usr/local/php5' '--with-readline=shared,/usr/local/php5' '--with-libxml-dir=/usr/local/php5' 'CFLAGS=-Os -mmacosx-version-min=10.10 -I/usr/local/php5/include -arch x86_64 -no-cpp-precomp -DENTROPY_CH_ARCHS='

Server API FPM/FastCGI

  cgi-fcgi
  php-fpm active
  Directive Local Value Master Value
  cgi.discard_path 0 0
  cgi.fix_pathinfo 1 1
  cgi.force_redirect 1 1
  cgi.nph 0 0
  cgi.redirect_status_env no value no value
  cgi.rfc2616_headers 0 0
  fastcgi.error_header no value no value
  fastcgi.logging 1 1
  fpm.config no value no value

Alors, c'est un bug ou une feature ?

Love

Luis

Bonjour,

Par acquit de conscience : tu as bien déclaré deux suffixes différents dans ta base, un pour chaque site ?
Ou deux bases différentes ?

En ce qui me concerne, j'ai des installations multiples de Spip sur des serveurs (y compris en plusieurs versions différentes) et je n'ai jamais observé d'interactions.

CM

Bonjour,

Par acquit de conscience : tu as bien déclaré deux suffixes différents dans ta base, un pour chaque site ?

Oui.

Ou deux bases différentes ?

Oui.

En ce qui me concerne, j'ai des installations multiples de Spip sur des serveurs (y compris en plusieurs versions différentes) et je n'ai jamais observé d'interactions.

C'est ce que je dis aussi, avant les polatouches restaient dans leurs cages. A un moment (au pif, depuis cette année), ça a cessé de fonctionner.

A +

jamais eu ce problème et j'ai une peleté de spip en local....

t'a bien vérifier avec des installs a neuf (non seulement de SPIP, mais aussi de ton serveur apache?)

Ah oui ce message d’erreur ça semble vraiment lié à opcache : désactive le pour confirmer, et le cas échéant il faudra changer le réglage par défaut qui est pas forcément bon (c’est une plaie, dire que XCache fonctionnait si bien avant…)

Bingo. Après désactivation de Zend

Zend OPcache
  Opcode Caching Disabled
  Optimization Disabled
  SHM Cache Enabled
  File Cache Disabled

Je retrouve le comportement précédent, à savoir, des polatouches qui restent sagement dans leurs cages sans aller foutre le boxon partout.
Est-ce du à une config bête de ma part ? Est-ce du à SPIP qui a changé ?
Vous me direz…
À mon avis ce serait beau si nos bestioles se comportassent comme n'importe quel autre script.

Merci les gars
À +

Je n'ai pas réinstallé apache ni php-fpm parce qu'avant je voulais savoir pourquoi SPIP avait changé.
Là, SuperCédric à trouvé le coupable (ZendCache). Dès que je le vire tout revient comme avant.
T'as opcache activé dans ta machine ? Si tel est le cas j'aimerais voir la config, si ça se trouve c'est une connerie de ma part.

À +

Non non je crois que la config par défaut de certaines installations est vraiment foireuse (enfin très orientée perf, mais ça peut poser plein de problèmes comme celui là).
Ça a été pensé pour les supers pros qui hébergent un site par serveur (ou qui font de la virtualisation), et c’est vraiment super rapide dans ce cas là, mais si jamais on est dans des configs plus vulgaires, du genre plusieurs sites sur un serveur, voire sur un vhost apache, c’est assez pénible.

Je saurai plus te dire la bonne config à modifier, mais mon petit doigt me dit que @marcimat est un pro de opcache :stuck_out_tongue:

ok, ok. Merci

Oh my. Tout ce bruit pour rien. Ou presque… Maintenant on sait que SPIP est sensible à opcache.use_cwd que j'avais disablé

opcache.use_cwd boolean

     If enabled, OPcache appends the current working directory to the script key, thereby eliminating possible collisions between files with the same base name. Disabling this directive improves performance, but may break existing applications.

Sorry for the ruido

A +

Pas pour rien !

Merci pour les détails ; ils seront utiles à d’autres.