php alias 报错,nginx+php-fpm中使用alias需要注意的地方

今天在配置zabbix,之前zabbix是使用apache+php的,现在想换成nginx+php-fpm,nginx配置如下:

location /zabbix/ {

alias /usr/share/zabbix/;

index index.php;

error_page 403 404 502 503 504 /zabbix/index.php;

location ~ .php$ {

expires epoch;

fastcgi_pass unix:/tmp/php-cgi.sock;

fastcgi_index index.php;

include fastcgi.conf;

}

location ~ .(jpg|jpeg|gif|png|ico)$ {

access_log off;

expires 33d;

}

}

发现通过WEB访问zabbix PHP程序时,显示是404未找到文件的错误。

fastcgi.conf文件如下:

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

fastcgi_param QUERY_STRING $query_string;

fastcgi_param REQUEST_METHOD $request_method;

fastcgi_param CONTENT_TYPE $content_type;

fastcgi_param CONTENT_LENGTH $content_length;

fastcgi_param SCRIPT_NAME $fastcgi_script_name;

fastcgi_param REQUEST_URI $request_uri;

fastcgi_param DOCUMENT_URI $document_uri;

fastcgi_param DOCUMENT_ROOT $document_root;

fastcgi_param SERVER_PROTOCOL $server_protocol;

fastcgi_param HTTPS $https if_not_empty;

fastcgi_param GATEWAY_INTERFACE CGI/1.1;

fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;

fastcgi_param REMOTE_ADDR $remote_addr;

fastcgi_param REMOTE_PORT $remote_port;

fastcgi_param SERVER_ADDR $server_addr;

fastcgi_param SERVER_PORT $server_port;

fastcgi_param SERVER_NAME $server_name;

# PHP only, required if PHP was built with --enable-force-cgi-redirect

fastcgi_param REDIRECT_STATUS 200;

发现其中SCRIPT_FILENAME有点问题:

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

可以看到:SCRIPT_FILENAME是由$document_root和$fastcgi_script_name组成的,而$document_root应该是nginx配置文件内的root /xx/xxx/,而我们使用了alias改到其它路径了,所以会找不到php文件。

修改nginx配置文件,加上一行

fastcgi_param  SCRIPT_FILENAME    $fastcgi_script_name;替换掉fastcgi.conf内的SCRIPT_FILENAME变量配置,再测试就OK了。

能正常运行的nginx配置如下:

location /zabbix/ {

alias /usr/share/zabbix/;

index index.php;

error_page 403 404 502 503 504 /zabbix/index.php;

location ~ .php$ {

expires epoch;

fastcgi_pass unix:/tmp/php-cgi.sock;

fastcgi_index index.php;

include fastcgi.conf;

fastcgi_param SCRIPT_FILENAME $request_filename;

}

location ~ .(jpg|jpeg|gif|png|ico)$ {

access_log off;

expires 33d;

}

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值