Nginx环境下访问PHP文件被下载而非渲染执行问题求助
Nginx访问PHP文件直接下载排查方案
- 检查PHP-FPM运行状态
执行如下命令查看服务状态:
如果服务未运行,执行启动命令并设置开机自启:systemctl status php7.0-fpmsystemctl start php7.0-fpm systemctl enable php7.0-fpm - 校验PHP-FPM套接字权限
首先确认套接字文件存在且权限正确:
正常输出中文件所属用户、用户组应为ls -l /var/run/php/php7.0-fpm.sockwww-data,如果权限不符,修改/etc/php/7.0/fpm/pool.d/www.conf中的以下配置项,修改完成后重启PHP-FPM服务:listen.owner = www-data listen.group = www-data listen.mode = 0660 - 校验Nginx配置有效性
先执行配置语法校验命令:
提示语法无误后重载Nginx配置:nginx -t
另外注意你当前站点配置监听的是8000端口,访问时需要在域名后加端口号,例如systemctl reload nginxhttp://jarofmilk.com:8000/info.php,直接访问默认80端口不会匹配当前配置规则。 - 校验fastcgi配置文件正确性
确认/etc/nginx/snippets/fastcgi-php.conf文件内容为默认配置,未被错误修改,默认配置参考:fastcgi_split_path_info ^(.+\.php)(/.+)$; try_files $fastcgi_script_name =404; set $path_info $fastcgi_path_info; fastcgi_param PATH_INFO $path_info; fastcgi_index index.php; include fastcgi.conf; - 检查站点目录权限
确认站点根目录及文件对Nginx运行用户可读,执行以下命令统一修正权限:chown -R www-data:www-data /var/www/jarofmilk.com/public_html - 查看日志定位具体错误
如果上述步骤都无法解决,查看日志获取错误细节:
Nginx错误日志路径:/var/log/nginx/error.log,查看最新日志命令:
PHP-FPM错误日志路径:tail -20 /var/log/nginx/error.log/var/log/php7.0-fpm.log,查看最新日志命令:tail -20 /var/log/php7.0-fpm.log
内容的提问来源于stack exchange,提问作者MilkToast
相关产品推荐
相关产品推荐

