Forum général.général [Résolu] PHP : erreur côté serveur (HTTP 500) mais rien dans les logs ?

Posté par  . Licence CC By‑SA.
Étiquettes :
0
4
juin
2018

Hello,

J'ai un problème avec mon instance auto-hébergée de tt-rss suite au renommage du rôle PgSQL utilisé par tt-rss pour accéder à la base de données.

Tout cela tourne sous Debian 8 avec Nginx 1.6.2, PHP 5.6.33 et PostgreSQL 9.4.

PHP s'est donc d'abord mis à se plaindre (via le error.log de nginx) de ne plus arriver à se connecter à la base de données.
J'ai donc mis à jour la configuration de tt-rss pour prendre en compte le "nouveau" rôle et depuis je me prends des Internal server error (HTTP 500) lorsque j'essaie d'accéder à tt-rss mais je n'ai aucun message d'erreur dans le error.log de nginx.

J'aimerais donc bien savoir où je dois regarder pour comprendre ce qu'il se passe.

Merci d'avance.

  • # php-fpm

    Posté par  (site web personnel) . Évalué à 2.

    N'as tu pas un log séparé pour PHP (cf. error_log dans ta configuration FPM) ?

    Is it a Bird? Is it a Plane?? No, it's Super Poil !!!

    • [^] # Re: php-fpm

      Posté par  . Évalué à 1.

      Dans ma configuration FPM (/etc/php5/fpm/php.ini) error_log n'est pas configuré :

      ; Log errors to specified file. PHP's default behavior is to leave this value
      ; empty.
      ; http://php.net/error-log
      ; Example:
      ;error_log = php_errors.log
      ; Log errors to syslog (Event Log on Windows).
      ;error_log = syslog
      

      Et de ce que je comprends de la doc les erreurs sont remontées au serveur web :

      error_log string

      Name of the file where script errors should be logged. […] If this directive is not set, errors are sent to the SAPI error logger. For example, it is an error log in Apache or stderr in CLI. See also error_log().

      Donc dans le error.log de Nginx à priori mais je ne vois justement rien passer (alors que c'était le cas quand tt-rss n'arrivait plus à se connecter à la base de données).

    • [^] # Re: php-fpm

      Posté par  . Évalué à 1.

      Allez savoir pourquoi aujourd'hui le log veut bien se remplir (toujours pas de traces de mes requêtes d'hier).

      Cela parait peut probable, mais au cas où quelqu'un se retrouve dans la même situation que moi voici ce qui n'était pas bon.

      Erreur dans le log de Nginx :

      Query SELECT schema_version FROM ttrss_version failed: ERROR: permission denied for relation ttrss_version

      J'avais pris soin de faire un GRANT ALL PRIVILEGES ON DATABSE…sur ma base ttrss à mon utilisateur ttrss mais apparemment ça concerne les droits d'accès à la base mais pas aux tables de cette base (source).

      Il faut donc se connecter à la base concernée (par défaut l'administrateur de la base est l'utilisateur postgressous Debian), dans mon cas :

      sudo -u postgres psql -d ttrss

      Puis donner les droits sur le schéma de la base (public par défaut) au bon utilisateur, toujours dans mon cas :

      grant all privileges on all tables in schema public to ttrss;

      • [^] # Re: php-fpm

        Posté par  (site web personnel) . Évalué à 1.

        Le logrotate aurait pas redémarré le service php-fpm pendant la nuit ? :)

        Is it a Bird? Is it a Plane?? No, it's Super Poil !!!

        • [^] # Re: php-fpm

          Posté par  . Évalué à 1.

          Je ne crois pas car j'avais déjà redémarré php-fpm suite à la modification de ma configuration pour accéder à la BDD et d'après systemd il n'a pas été redémarré depuis.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.