phpmyadmin hat Probleme mit Nginx und php-fpm mit RHEL 6

7

Wir haben ein Webserver-Setup mit nginx und php-fpm auf RHEL6. Auf diesem Computer ist Wordpress bereits installiert und es läuft hervorragend. Wir haben WordPress eingerichtet, um zu wptest.domain.local zu gelangen. Anschließend haben wir in sites-enabled eine neue Site namens servername.domain.local erstellt, auf der wir verschiedene Tools hosten wollten.

PHP funktioniert durchweg einwandfrei, wir haben keine Probleme mit Wordpress. Beim Versuch, phpmyadmin zu erreichen, wird dieser Fehler angezeigt

2012/09/14 16:22:13 [error] 10065#0: *1 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 192.168.1.15, server: servername, request: "GET /phpmyadmin/setup/ HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "servername"

Und hier ist unsere Site-Konfiguration:

    Servername Servername severname.domain.local;
    access_log /srv/www/severname/logs/access.log;
    error_log /srv/www/severname/logs/error.log;
    root / srv / www / severname / public_html;

    Standort / {
        index index.html index.htm index.php;
        try_files $ uri $ uri / /index.php?q=$uri&$args;
    }}

    location = /favicon.ico {
        log_not_found off;
        access_log off;
    }}

    location = /robots.txt {
        alles erlauben;
        log_not_found off;
        access_log off;
    }}

    Ort ~ \ .php $ {
        try_files $ uri = 404;
        fastcgi_split_path_info ^ (. + \. php) (/.+) $;
        include / etc / nginx / fastcgi_params;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME / srv / www / severname / public_html $ fastcgi_script_name;
    }}

PHPmyadmin wird unter / srv / www / servername / public_html / phpmyadmin / installiert.

Gestern habe ich bemerkt, dass es auch einige SEGFAULT-Fehler von PHPMyAdmin gab.

Wenn ich eine phpinfo-Datei in dieses Verzeichnis lege, funktioniert es einwandfrei. Die in Phpmyadmin enthaltene phpinfo (die ein include usw. enthält) funktioniert nicht.

Der Browser zeigt ein '502 Bad Gateway' an.

Außerdem wird normalerweise nach einem Neustart von php-fpm ein rotes Kästchen mit der Aufschrift "phpmyadmin -error" angezeigt. Dann kann die Sitzung nicht fehlerfrei gestartet werden. Überprüfen Sie die in Ihrer PHP- und / oder Webserver-Protokolldatei angegebenen Fehler und konfigurieren Sie Ihre PHP-Installation ordnungsgemäß . '. Ich habe versucht, die PHP-Protokollierung zu aktivieren, bekomme aber nichts.

Ich erhalte dies in meinem Fehlerprotokoll für die Site, wenn ich zu phpmyadmin / setup gehe

`2012/09/18 08:12:43 [error] 16722 # 0: * 22 FastCGI gesendet in stderr:" PHP-Nachricht: PHP Warnung: Unbekannt: open (/ var / lib / php / session / sess_5d9vhk4jv1f07v2jsltlnp8tdnp7s167, O_RDWR) : Berechtigung verweigert (13) in Unbekannt in Zeile 0 PHP-Nachricht: PHP Warnung: Unbekannt: Sitzungsdaten (Dateien) konnten nicht geschrieben werden. Überprüfen Sie, ob die aktuelle Einstellung von session.save_path korrekt ist (/ var / lib / php / session). in Unbekannt in Zeile 0 "beim Lesen des Upstreams, Client: 192.168.1.11, Server: Servername, Anforderung:" GET / phpmyadmin / setup / HTTP / 1.1 ", Upstream:" fastcgi: //127.0.0.1: 9000 ", Host: "Servername"

jmlumpkin
quelle
1
PHP warf einen Fehler. Stellen Sie sicher, dass Sie sie irgendwo protokollieren (siehe /etc/php.ini), und sehen Sie dann, was es ist.
Michael Hampton
Ich werde erst am Montag wieder auf den Computer zurückkehren können, aber dann die PHP-Protokollierung aktivieren. Wäre das hilfreicher als die PHP-Fpm-Protokolle? Ich konnte nichts aus ihnen herausholen.
Jmlumpkin
Ich habe die Protokollierung aktiviert und nginx neu gestartet, aber es wurde nie etwas in die Protokolldatei geschrieben.
Jmlumpkin

Antworten:

10

Aus dem letzten Fehler, den Sie veröffentlicht haben, geht hervor, dass PHP versucht, Sitzungsdaten in einem Verzeichnis auf die Festplatte zu schreiben, das nicht wirklich beschreibbar ist /var/lib/php/session.

Überprüfen Sie den Besitz und die Berechtigungen für dieses Verzeichnis:

ls -ld /var/lib/php/session

Vergleichen Sie diese mit der Benutzer- und Gruppen-ID, unter der php-fpm ausgeführt wird. Diese finden Sie in den Deklarationen user =und group =in der Poolkonfiguration von PHP-FPM in /etc/php-fpm.confoder in den Dateien im /etc/php-fpm.d/Verzeichnis.

Michael Hampton
quelle
Dies war es tatsächlich (behoben, bevor dies gepostet wurde). Hier hat ein Systemadministrator Apache installiert, was unser Nginx-Setup vermasselt hat. Als ich kürzlich die Nginx-Berechtigungen korrigierte, wurde dies tatsächlich unterbrochen, da ein Apache-Benutzer erwartet wurde.
Jmlumpkin