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

许多用户都希望在使用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页面)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值