一次wordpress部署问题,SCRIPT_FILENAME 和 SCRIPT_NAME

一次部署wordpress时,使用了如下server配置:

server {
        listen 80;
        server_name  word.cn;
 
        root /Users/steven/workspace/wordpress;
        index index.php index.html index.htm;

        location / {
         try_files $uri $uri/ /index.php?q=$uri&$args;
        }

        location ~ \.php$ {
                include fastcgi_params;
                fastcgi_pass unix:/usr/local/opt/php55/sock/php-fpm.sock;
        }
}

分别在服务器和开发机上部署,之后发现服务器上可以正常访问,开发机却死活不行,每次都是白页。
  服务器的系统是ubuntu,直接使用apt-get安装的nginx。

开发机是mac,使用brew安装。

最后无奈只好使用源码重新编译,打开了调试模式(--with-debug),经历一番折磨后,终于找到问题。

是因为fastcgi_params配置文件中的SCRIPT_FILENAME问题,使用源码和brew安装的nginx,fastcgi_params配置文件中是没有SCRIPT_FILENAME这个参数的,需要在server中自己填写,而在ubuntu中使用apt-get安装时是有的。

而要使用上面的wordpress的配置,则必须保证fastcgi_params文件中包含下面的配置:
  fastcgi_param SCRIPT_FILENAME $request_filename;
  否则fastcgi无法找到要执行的脚本文件。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容