nginx连接不上php后oom,nginx - nginx显示空白的PHP页面 - 堆栈内存溢出

本文详细指导了如何诊断和修复在使用Nginx和php7.2-fpm时遇到的空白页面问题,包括检查配置文件、socket路径、php-fpm状态及fastcgi_pass设置,确保变量正确传递。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

许多用户都希望在使用nginx + php-fpm时找到显示空白页面的解决方案,我就是其中之一。 这是我在阅读了许多答案以及我自己的调查(更新到php7.2)之后我最终做的回顾:

1)打开/etc/php/7.2/fpm/pool.d/www.conf并检查参数listen的值。

listen = /var/run/php/php7.2-fpm.sock

2)参数listen应匹配站点配置文件中的fastcgi_pass参数(i,e: /etc/nginx/sites-enabled/default )。

fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;

3)检查文件是否确实存在:

$ file /var/run/php/php7.2-fpm.sock

/var/run/php/php7.2-fpm.sock: socket

4)如果它不存在意味着php7.2-fpm没有运行,那么你需要重新启动它:

$ sudo /etc/init.d/php7.2-fpm restart

[ ok ] Restarting php7.2-fpm (via systemctl): php7.2-fpm.service.

关于/etc/nginx/sites-enabled/default的location部分:

# pass PHP scripts to FastCGI server

#

location ~ \.php$ {

include snippets/fastcgi-php.conf;

# With php-fpm (or other unix sockets):

fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;

}

检查位于/etc/nginx/的文件snippets/fastcgi-php.conf存在:

$ file /etc/nginx/snippets/fastcgi-php.conf

/etc/nginx/snippets/fastcgi-php.conf: ASCII text

该文件包含php7.2-fpm所需的变量定义列表。 变量直接定义或通过包含分离的文件定义。

include fastcgi.conf;

该文件位于/etc/nginx/fastcgi.conf ,它看起来像:

fastcgi_param QUERY_STRING $query_string;

fastcgi_param REQUEST_METHOD $request_method;

...

fastcgi_param REDIRECT_STATUS 200;

nginx包含两个可能的参数文件: fastcgi_params和fastcgi.conf 。 两者之间的区别是变量SCRIPT_FILENAME的定义:

$ diff fastcgi_params fastcgi.conf

1a2

> fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

总而言之, fastcgi.conf应该始终有效。 如果由于某种原因你设置的是使用fastcgi_params ,你应该定义SCRIPT_FILENAME :

location ~ \.php$ {

include snippets/fastcgi-php.conf;

# With php-fpm (or other unix sockets):

fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

}

现在重新加载nginx配置:

$ sudo nginx -s reload

并检查一个PHP文件是否正确显示。 例如:

/var/www/html/test.php

<?php var_export($_SERVER)?>

其中/var/www/html是文档根目录的路径。

尽管如此,你仍然会看到一个空白文件,请确保你的php.ini启用了short_open_tag (如果你正在测试带有短标签的PHP页面)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值