前言
今天斗志高昂的去搭建
LNMP
运行环境,感觉自己无所不能!
开始安装PHP
MySQL
nginx
行云流水,觉得马上就到达到人生巅峰。。。
然后通过nginx
访问PHP
脚本。。。
解决遇到了如下问题:
问题
1. nginx 访问PHP脚本没有解析,而是直接下载PHP脚本?
- 原因
因为nginx
和PHP
之间的通信方式是fastcgi
,而php-fpm
实现了对fastcgi
进程管理 - 解决方案
- 确认已经安装并且运行
php-fpm
,如果没有安装请安装php-fpm
(安装的php-fpm
需要与自己安装的PHP
版本对应,例如我安装PHP版本是PHP7.2
,那么我的fpm
安装的是php7.2-fpm
) - 确认你web服务器配置中的
.php
文件是不是被指定给FastCGI server
处理,修改vi /etc/nginx/sites-available/default
文件内容,如下:
- 确认已经安装并且运行
# pass PHP scripts to FastCGI server
#
location ~ \.php$ {
# # With php-fpm (or other unix sockets):
# fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
# # With php-cgi (or other tcp sockets):
# fastcgi_pass 127.0.0.1:9000;
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
try_files $uri =404;
}
2. nginx 访问PHP脚本,HTTP状态码为200,但是页面为空?
- 原因
如果问题1已经解决的前提下,问题2的原因是由于fastcgi_script_name访问脚本路径不正确引起的,修改在这里插入代码片
文件内容,添加如下代码:
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_script_name;
测试
- 查看PHP版本信息
- 通过虚拟域名访问laravel