获取"未指定输入文件。"只有当PATH_INFO为空时?

时间:2014-07-20 09:35:08

标签: php apache .htaccess fastcgi

我在子域中安装了GitList(PHP FastCGI 5.4.29)。以下.htaccess附带默认安装:

<IfModule mod_rewrite.c>
    Options -MultiViews +SymLinksIfOwnerMatch

    RewriteEngine On
    #RewriteBase /path/to/gitlist/

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php/$1 [L,NC]
</IfModule>
<Files config.ini>
    order allow,deny
    deny from all
</Files>

当我尝试访问http:/subdomain.company.com时,我收到以下错误:

  

未指定输入文件。

我想当PATH_INFO为空时出现错误,但我不知道如何解决它。如果我访问http:/subdomain.company.com/index.php,应用程序就可以正常运行。

这是目录结构,如果可以帮助:

-rw-r--r--  1 iosystit psacln   435 Jun 30 05:07 boot.php
drwxrwxrwx  3 iosystit psacln  4096 Jul 20 04:09 cache
-rw-r--r--  1 iosystit psacln   831 Jul 20 11:14 config.ini
-rw-r--r--  1 iosystit psacln   975 Jun 30 05:07 config.ini-example
-rw-r--r--  1 iosystit psacln   291 Jun 30 05:07 .htaccess
-rw-r--r--  1 iosystit psacln   690 Jun 30 05:07 index.php
-rw-r--r--  1 iosystit psacln  2505 Jun 30 05:07 INSTALL.md
-rw-r--r--  1 iosystit psacln  1477 Jun 30 05:07 LICENSE.txt
-rw-r--r--  1 iosystit psacln  5358 Jun 30 05:07 README.md
drwxr-xr-x  3 iosystit psacln  4096 Jun 30 05:07 src
drwxr-xr-x  4 iosystit psacln  4096 Jun 30 05:07 themes
drwxr-xr-x 16 iosystit psacln  4096 Jul 20 04:05 vendor

编辑:我接受了答案,因为链接No input file specified向我指出了解决方案,但我没有使用nginx:

RewriteRule ^(.*)$ index.php?/$1 [L,NC]

1 个答案:

答案 0 :(得分:1)

您可能需要更改一些设置。

对于nginx的例子,有一个提示进行更改:

server {
    location = / {
        try_files @site @site;
    }

    location / {
        try_files $uri $uri/ @site;
    }

    location ~ \.php$ {
        return 404;
    }

    location @site {
        fastcgi_pass   unix:/var/run/php-fpm/www.sock;
        include fastcgi_params;
        fastcgi_param  SCRIPT_FILENAME $document_root/index.php;
    }
}

Github的更多信息。类似的问题(但对于不同的图书馆)也在No input file specified