我知道这不是一个不常见的问题,但不知何故,我似乎无法找到直接的答案。有人能够尽可能直接地回答这个问题吗?
我的 NGINX(提供静态文件)和 HHVM(来自控制台的 hhvm index.php
)工作正常,但我无法在没有 404 的情况下通过 NGINX 访问 .php
情况:
HHVM 3.5.0
nginx 1.7.9
我的/etc/nginx/conf.d/default.conf 中有这个
server {
listen 80;
server_name localhost;
location / {
root /var/www;
index index.php index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
include hhvm.conf;
}
在 HHVM.conf 中
location ~ \.(hh|php)$ {
fastcgi_keep_conn on;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
最佳答案
将以下 HHVM conf 替换为您的:
location ~ \.(hh|php)$ {
fastcgi_keep_conn on;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
问题
我看到
$document_root
和 $fastcgi_script_name
之间有一个空格。更新
通过使用
$document_root
更改 /var/www
解决关于php - Nginx 和 HHVM 总是返回 404,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28308099/