网站出现No input file specified解决

问题描述

访问 WEB 站点提示 No input file specified 如何解决。

IIS 配置解决方法

  • 方法一:
    修改 php.ini 中的 doc_root 行,打开ini文件注释掉此行,然后重启IIS。
  • 方法二:
    修改 php.ini ,找到
    1
    ;cgi.force_redirect = 1

去掉前面分号,把值改为0

1
cgi.force_redirect = 0

Apache 配置解决方案

打开 .htaccessRewriteRule 后面的 index.php 后面添加一个 “?”

完整代码如下

1
2
3
4
.htaccess
RewriteEngine on
RewriteCond $1 !^(index.php|images|robots.txt)
RewriteRule ^(.*)$ /index.php?/$1 [L]

总结:

Apache 把 .php 后缀的文件解析为 PHP。可以将任何后缀的文件解析为 PHP,只要在以下语句中加入并用空格分开。这里以添加一个 .phtml 来示例。

1
AddType application/x-httpd-php .php .phtml

为了将 .phps 作为 PHP 的源文件进行语法高亮显示,还可以加上:

1
AddType application/x-httpd-php-source .phps

用通常的过程启动 Apache(必须完全停止 Apache 再重新启动,而不是用 HUP 或者 USR1 信号使 Apache 重新加载)。

Nginx配置解决方案

  • php.ini(/etc/php/cgi/php.ini)的配置中这两项:

    1
    2
    cgi.fix_pathinfo=1 (这个是自己添加的)
    doc_root=
  • nginx 配置文件 /etc/nginx/sites-available/default :

    1
    2
    3
    4
    5
    6
    location ~ \.php$ {
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME /var/www/nginx-default$fastcgi_script_name;
    include fastcgi_params;
    }
  • 配置完以上部分,重启一下service nginx restart。

当前网速较慢或者你使用的浏览器不支持博客特定功能,请尝试刷新或换用Chrome、Firefox等现代浏览器