Nginx配置与php-fpm联调错误:解决方案与路径调整

1 下载量 123 浏览量 更新于2024-09-01 收藏 95KB PDF 举报
本文档主要介绍了如何解决在安装并配置Nginx与PHP-FPM环境后,遇到的调用PHP时出现的"Primary script unknown"错误的问题。首先,用户在安装完Nginx和PHP-5.5之后,配置了Nginx以调用PHP-FPM服务,通过执行`/usr/local/php/sbin/php-fpm`命令启动php-fpm。然后,在Nginx的根目录下创建了一个简单的index.php文件,尝试访问`http://localhost/index.php`,但页面无法打开,并且在Nginx的日志文件中发现错误消息,指出FastCGI在读取上游响应头时遇到了问题。 问题的关键在于Nginx配置中的错误。在配置文件的第69行,原始的`fastcgi_param SCRIPT_FILENAME scripts$fastcgi_script_name;`可能导致Nginx无法正确解析PHP脚本路径。为了解决这个问题,建议将该行改为`fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;`,这样Nginx会从实际的文档根目录寻找脚本,而不是固定的scripts目录。 此外,文中提到,可以不必依赖像lighttpd的spawn-fcgi这样的外部FastCGI启动器,而是直接通过php-fpm管理PHP-FPM服务。php-fpm的优点在于其便捷性,配置大部分都在`php-fpm.ini`文件中,而启动、重启以及修改php.ini后无需重启整个进程,只需使用`php-fpm reload`命令即可实现动态更新。 总结来说,解决Nginx调用PHP-FPM出错的关键在于修正Nginx的配置,确保`SCRIPT_FILENAME`参数设置正确,这将有助于Nginx正确定位并执行PHP脚本,从而实现正常的服务请求。同时,了解php-fpm的管理和配置方式,能提高开发和运维效率。