Ticket Hash: 4f7f5d2b1d7279b232f8e8b636deb3a1f0e87a22
Title: page blanche après l'installation
Status: Closed Type: Incident
Severity: Critical Priority: Immediate
Subsystem: Resolution: External_Bug
Last Modified: 2012-12-08 13:13:49
Version Found In: 0.4.4
Description:
Après la page d'installation, j'envoie les données avec "Terminer l'installation", et j'ai une page blanche.

Il semblerait qu'à la fin de la session, je puisse de nouveau accéder à la page d'installation (avec le même problème)


bohwaz added on 2012-10-30 23:47:22 UTC:
Hello,

Quelle configuration de PHP, Apache, SQLite ? Quel navigateur ? Quel hébergeur ?


sarah added on 2012-10-31 10:03:10 UTC:
SME Server 8 (auto-hébergement) PHP 5.3.3 Apache 2.2.0-8 SQLite 3.3.6 navigateur : firefox (sous un linux - ubuntu like)

un phpinfo ici : http://enchevetres.org/toto.php

Je ne sais pas si c'est lié, mais il y a un spip dans un répertoire "frère"


bohwaz added on 2012-10-31 12:34:20 UTC:
Tu peux regarder les messages d'erreur dans /var/log/apache2/error.log ou alors dans le syslog ? Y'a sûrement un problème avec le code mais l'erreur ne s'affiche pas car tu as mis display_errors à Off dans ta config. PHP.


bohwaz added on 2012-10-31 12:36:09 UTC:
Tu peux aussi mettre ça dans le .htaccess dans le www/ de garradin :

php_value display_errors 1


sarah added on 2012-11-05 12:19:08 UTC:
il semblerait que la variable $_SESSION['csrf'][$key] ne corresponde pas au hash généré par CSRF_field_name. Pourquoi l'un est généré avec $key et l'autre avec $key.uniqid($key, true).time() ? Cela ne peut pas donner la même chose, si ?

Toujours est-il que l'erreur d'installation vient bien de là


sarah added on 2012-11-07 15:25:35 UTC:
en remontant un peu plus haut, l'erreur vient de la prise en compte de sqlite3.

En effet, si sqlite3 est bien installé, il n'est pas reconnu/la classe n'est pas trouvée par php. Il n'existe pas de paquet php5-sqlite sur SME, mais il devrait être compris dans pdo_sqlite, comme dit dans ce commentaire :

http://serverfault.com/a/330398

Extrait : The sqlite3 extension is already enabled, but in the different name pdo_sqlite. Just use it to access to the SQLite 3 database.

Mais comment le prendre en compte dans garradin ?

toujours le php info :

http://gestion.enchevetres.org/toto.php


bohwaz added on 2012-11-09 11:27:51 UTC:
Hello, csrf_field_name et csrf_generate sont des choses bien différentes qui ne sont pas comparables, l'une génère le nom du champ utilisé dans le formulaire, l'autre sa valeur. Donc c'est normal que ça soit différent. Le problème ne peut venir de là car ça fonctionne au poil cette partie.

Pour ton problème de SQLite, Garradin a besoin de la classe SQLite3, il n'utilise pas PDO.

Je ne connaît pas SME, mais normalement si tu peux afficher la page de l'installation c'est que la classe existe donc le problème ne vient pas de là. Le mieux est de recopier ici le message d'erreur présent dans tes logs.


sarah added on 2012-11-09 18:07:29 UTC:
l'erreur, c'est ça :

Le module de bases de données SQLite3 n'est pas installé !

(désolée pour le pourrissement de ce ticket qui s'allonge !)


bohwaz added on 2012-11-10 22:35:01 UTC:
Alors il faut installer le module SQLite3, celui-ci : http://www.php.net/manual/en/book.sqlite3.php

Pas celui de PDO, car Garradin n'utilise pas PDO pour le moment.

Sinon il n'y a aucune chance que ça fonctionne.

Par contre je ne connaît pas SME donc je ne sais pas comment faire pour cette distrib, je te conseille d'aller voir les forums de support de SME.


bohwaz added on 2012-12-08 12:13:49 UTC:
Voir [82059f336a] pour l'utilisation de PDO mais en attendant le problème ne vient pas de Garradin.