PHP IIS "No input file specified." 错误

10 篇文章 0 订阅
4 篇文章 0 订阅

WIndows XP IIS配置PHP,配置好了之后网站根目录下的php文件可以正常访问,当时子站(我建了一个虚拟目录)下的php就不能访问了,出现了"No input file specified." 错误。

网上有说是目录权限的说,也有说是应该注释php.ini中的doc_root行,还有说是应用池的问题。

除了应用池的方法没试之外前两个都试了,都不行。

后来无意间改了一下虚拟目录选项卡下的“应用程序保护”,改成高级之后竟然就行了。。。

虽然不懂是怎么回事,但是还是贴出来一下,供遇到此问题的朋友参考一下。

如下图:


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: "no input file specified"是指在使用php-fpm处理请求时,发现没有指定要处理的PHP文件。常见情况是在使用Nginx作为Web服务器时出现此错误。 解决此问题的方法如下: 1. 检查Nginx配置文件中是否正确指定了PHP文件路径。可以查看`location`块中的`fastcgi_pass`指令,确认PHP-FPM套接字或IP地址及端口是否正确配置。 2. 检查PHP文件路径是否正确。确保请求的PHP文件路径是正确的,是存在的,并且具有可读权限。 3. 确保PHP-FPM已启动。可以通过命令行执行`service php-fpm status`检查PHP-FPM是否正在运行。 4. 检查PHP-FPM配置文件。查看`php-fpm.conf`或`www.conf`文件,确保`listen`指令中配置的套接字或IP地址及端口与Nginx配置文件中的相匹配。 5. 重启Nginx和PHP-FPM服务。可以通过命令行执行`service nginx restart`和`service php-fpm restart`重启服务,使配置生效。 如果以上方法仍无法解决问题,可以通过检查错误日志文件(通常在/var/log/nginx/或/var/log/php-fpm/中)获取更多详细的错误信息,以便进一步进行排查和调试。 ### 回答2: 当出现"no input file specified"错误时,这通常表示Nginx无法找到要处理的PHP文件。这个错误可能有几个原因。 首先,检查Nginx的配置文件。确保正确配置了PHP解释器和fastcgi参数。可以通过使用root指令和index指令设置网站的根目录和默认文件。确保fastcgi_pass指令指向正确的PHP解释器的地址和端口。 如果Nginx配置正确,但还是出现错误,那么可能是由于文件或目录权限的问题。PHP文件及其父文件夹应该具有可执行权限,以便Nginx可以读取和执行它们。使用chmod命令设置正确的权限。 另一个可能的原因是PHP文件的路径设置不正确。请检查PHP文件的位置和Nginx配置文件中的路径是否匹配。确保文件实际存在,并且路径被正确指定。 有时,可能是由于PHP-FPM配置出现问题。检查PHP-FPM的配置文件,确保其监听正确的地址和端口,与Nginx配置文件中的指令一致。 最后,还有可能是由于重写规则的问题。检查Nginx的重写规则是否正确,以便正确地路由请求到PHP文件。 总结一下,出现"no input file specified"错误通常意味着Nginx无法找到要处理的PHP文件。检查Nginx和PHP-FPM的配置文件,确保路径、权限、监听地址和端口等设置正确。此外,还要检查重写规则和路径匹配。 ### 回答3: 当出现"no input file specified"错误时,是因为Nginx没有找到要处理的PHP文件。这个问题通常是由于配置错误所导致的。 首先,确保PHP文件存在于Nginx的根目录中。然后,检查Nginx的配置文件是否正确设置了PHP处理的位置。 在Nginx的配置文件中,可以添加以下内容: ``` location / { try_files $uri $uri/ /index.php$is_args$args; } ``` 这将使Nginx在找不到对应文件时自动尝试将请求传递给index.php文件。 另外,确保在nginx.conf或sites-available文件中,正确设置了fastcgi相关的配置,例如: ``` location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.4-fpm.sock; } ``` 这样Nginx就知道将PHP文件传递给哪个FastCGI处理程序。 在修改配置文件后,重新加载Nginx配置: ``` sudo systemctl reload nginx ``` 如果问题仍然存在,可能是因为PHP-FPM配置错误。可以检查PHP-FPM的配置文件,确保它监听正确的地址和端口: ``` sudo nano /etc/php/7.4/fpm/pool.d/www.conf ``` 找到以下行: ``` listen = /run/php/php7.4-fpm.sock ``` 确保这个路径和Nginx配置文件中的一致。 修改后,重启PHP-FPM和Nginx服务: ``` sudo systemctl restart php7.4-fpm sudo systemctl restart nginx ``` 通过这些步骤,应该能够解决"no input file specified"的问题,使Nginx能正确找到和处理PHP文件。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

RobinTang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值