เรามีการตั้งค่าเว็บเซิร์ฟเวอร์ด้วย nginx และ php-fpm บนRed Hat Linux 6 (RHEL) เครื่องนี้มี WordPress ติดตั้งอยู่แล้วและใช้งานได้ดี เราได้ WordPress ตั้งค่าที่จะไปwptest.domain.local จากนั้นเราสร้างไซต์ใหม่ในชื่อเซิร์ฟเวอร์ที่เปิดใช้งานไซต์ชื่อservername.domain.localซึ่งเราต้องการโฮสต์เครื่องมือต่างๆ

PHP ทำงานได้ดีตลอด และเราไม่มีปัญหาใดๆ กับ WordPress แต่เมื่อพยายามเข้าถึง phpMyAdmin เราได้รับข้อผิดพลาดนี้:

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"

และนี่คือการกำหนดค่าเว็บไซต์ของเรา:

    server_name 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;

    location / {
        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 {
        allow all;
        log_not_found off;
        access_log off;
    }

    location ~ \.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 ติดตั้งไว้ที่/srv/www/servername/public_html/phpmyadmin/.

เมื่อวานฉันสังเกตเห็นว่ามันบอกว่ามีข้อผิดพลาด SEGFAULT จาก phpMyAdmin ด้วย

ถ้าฉันใส่ไฟล์phpinfo ลงในไดเร็กทอรีนี้ มันก็ใช้ได้ดี phpinfoรวมอยู่ใน phpMyAdmin (ซึ่งมียอดรวม ฯลฯ ) ไม่ทำงาน

เบราว์เซอร์: แสดง502 Bad เกตเวย์

นอกจากนี้ โดยปกติหลังจากรีสตาร์ท php-fpm ฉันจะเห็นกล่องสีแดงว่าphpmyadmin -errorจากนั้นไม่สามารถเริ่มเซสชันได้โดยไม่มีข้อผิดพลาด โปรดตรวจสอบข้อผิดพลาดที่ให้ไว้ในไฟล์บันทึกของ PHP และ/หรือเว็บเซิร์ฟเวอร์และกำหนดค่าการติดตั้ง PHP ของคุณอย่างถูกต้อง ฉันพยายามเปิดใช้งานการบันทึก PHP แต่ไม่พบอะไรเลย

ฉันได้รับสิ่งนี้ในบันทึกข้อผิดพลาดสำหรับไซต์ถ้าฉันไปที่phpmyadmin/setup :

2012/09/18 08:12:43 [error] 16722#0: *22 FastCGI sent in stderr: "PHP message: PHP Warning:  Unknown: open(/var/lib/php/session/sess_5d9vhk4jv1f07v2jsltlnp8tdnp7s167, O_RDWR) failed: Permission denied (13) in Unknown on line 0
PHP message: PHP Warning:  Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/var/lib/php/session) in Unknown on line 0" while reading upstream, client: 192.168.1.11, server: servername, request: "GET /phpmyadmin/setup/ HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "servername"
answer

จากข้อผิดพลาดล่าสุดที่คุณโพสต์ ปรากฏว่า PHP กำลังพยายามเขียนข้อมูลเซสชันลงดิสก์ในไดเร็กทอรีที่ไม่สามารถเขียนได้จริง กล่าวคือ/var/lib/php/session.

ตรวจสอบความเป็นเจ้าของและการอนุญาตในไดเร็กทอรีนี้:

ls -ld /var/lib/php/session

เปรียบเทียบสิ่งเหล่านี้กับ ID ผู้ใช้และกลุ่มที่ php-fpm ทำงานอยู่ สิ่งเหล่านี้จะพบได้ในการประกาศuser =และgroup =ในการกำหนดค่าพูลของ PHP-FPM ใน/etc/php-fpm.confหรือไฟล์ใน/etc/php-fpm.d/ไดเร็กทอรี