我们有一个安装了 nginx 和 php-fpm 的 Web 服务器红帽Linux6 (RHEL)。此机器已安装 WordPress,运行良好。我们已将 WordPress 设置为wptest.domain.local。然后我们在 sites-enabled 中创建了一个名为服务器名称.域.本地,我们想在那里托管各种工具。
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"
以下是我们网站的配置:
服务器名称服务器名称服务器名称.域.本地; 访问日志/srv/www/severname/logs/access.log; 错误日志/srv/www/severname/logs/error.log; 根/srv/www/服务器名称/public_html; 地点 / { 索引 index.html index.htm index.php; try_files $uri $uri/ /index.php?q=$uri&$args; } 位置 = /favicon.ico { log_not_found关闭; 访问登录关闭; } 位置 = /robots.txt { 允许全部; log_not_found关闭; 访问登录关闭; } 位置 ~ \.php$ { 尝试文件$uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; 包括/etc/nginx/fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_index索引.php; fastcgi_param SCRIPT_FILENAME /srv/www/severname/public_html$fastcgi_script_name; }
PHPmyadmin 安装在/srv/www/servername/public_html/phpmyadmin/
。
昨天我注意到 phpMyAdmin 也出现了一些 SEGFAULT 错误。
如果我把php信息该文件位于此目录中,它工作正常。php信息包含在 phpMyAdmin 中(其中包含等)不起作用。
浏览器显示502错误的网关。
另外,通常在 php-fpm 重启后,我会看到一个红色的框,上面写着phpmyadmin-错误, 然后无法无错误地启动会话,请检查 PHP 和/或 Web 服务器日志文件中给出的错误,并正确配置 PHP 安装。我尝试启用 PHP 日志记录,但没有任何结果。
如果我访问phpmyadmin/设置:
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"
答案1
从您发布的最新错误来看,PHP 似乎正在尝试将会话数据写入磁盘中实际上不可写的目录中,即/var/lib/php/session
。
检查此目录的所有权和权限:
ls -ld /var/lib/php/session
将这些与 php-fpm 正在运行的用户和组 ID 进行比较。这些可以在目录中的或文件内的PHP-FPM 池配置中的user =
和声明中找到。group =
/etc/php-fpm.conf
/etc/php-fpm.d/