使用nginx的HHVM不会从子文件夹运行php

时间:2015-07-28 10:07:00

标签: php nginx hhvm

我有nginx和hhvm的工作设置。这是我的配置规则的一部分,用于每个请求(从调试日志中获取):

location ~ \.php$ {
    proxy_intercept_errors on;
    error_page 502 = @fallback;

    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root;
    include fastcgi_params;
}

然后我有简单的网站:

root
  index.php // echo 'this is index'
  sub
    index.php  // echo 'this is sub'

现在,如果我加载example.com,我会看到this is index。右。

example.com/sub - 我仍然看到this is index而不是this is sub

为什么这样?请帮忙。

是的,如果我将使用php-fpm:

location ~ \.php$ {
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    fastcgi_pass unix:/var/run/php5-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root;
    include fastcgi_params;
}

一切都很正常。

谢谢!

1 个答案:

答案 0 :(得分:0)

也许解决了,......或者不是!

你应该:

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

而不是

fastcgi_param SCRIPT_FILENAME $document_root;

使用php-fpm和hhvm。