痛苦的排错之” No input file specified.“报错 ”No input file specified.“ 排查

痛苦的排错之” No input file specified.“报错 ”No input file specified.“ 排查,第1张

概述痛苦的排错之” No input file specified.“报错 ”No input file specified.“ 排查

报错 ”No input file specifIEd.“ 排查背景

今天下午我要和小伙伴一起开发一个 Laravel 的项目,这个项目是我伙伴已经开发了一部分,所有我就克隆了一份到我的电脑上,但是等我配置好,打开网址的提示 ”No input file specifIEd.“ 404错误

排查

首先我怀疑是项目源代码的问题,然后我直接在入口文件最前面添加了一句如下;我访问网址还是报同样的错误。

<?PHPexit(1);

说明不是我项目源代码的问题,排除代码的问题;

我开始怀疑是自己环境的问题,于是我就开始折腾了。我把项目删了,又从新开始建一个项目,但是还是不行。我发现只有这个项目是这样的问题。于是我确定不是环境的问题。

说明不是环境的问题,排除环境的问题

我百度了一下,有人说可能是 Homestead.yaml 的问题,但是我仔细对照了一边,我也没有发现的那里出问题了。于是我就 Google 了一下,也没有找到好的原因。

排除虚拟机配置的问题

于是我就再想不是环境的问题,不是程序的问题~~~;最后觉得应该去虚拟机里面看看,最后我在 ngnix 的日志中看到这个错误。

2019/05/23 12:31:44 [error] 5085#5085: *1 FastCGI sent in stderr: "PHP message: PHP Warning:  UnkNown: open_basedir restriction in effect. file(/home/vagrant/Code/haopai-git/public/index.PHP) is not within the allowed path(s): (/www/wwwroot/dev.guooo.top/:/tmp/:/proc/) in UnkNown on line 0PHP message: PHP Warning:  UnkNown: Failed to open stream: Operation not permitted in UnkNown on line 0Unable to open primary script: /home/vagrant/Code/haopai-git/public/index.PHP (Operation not permitted)" while reading response header from upstream, clIEnt: 192.168.10.1, server: hp.hopa.cc, request: "GET / http/1.1", upstream: "fastcgi://unix:/var/run/PHP/PHP7.2-fpm.sock:", host: "hp.hopa.cc"

看到上面的错误,我也去网上找,网上主要是说 ngnix 里面配置 fastcgi_param 的问题,但是我觉得不对吧,因为别的项目都没有问题,单单就这个项目有问题。不知怎么了,我就注意到 "/www/wwwroot/" 这个东西,我电脑里就不应该有这个文件夹啊,于是我就去项目里查找这个字符串,最后在 .user.ini 这个文件找到了,当我看到这个文件的时候我就意识到是他的问题,我把这个文件里面的配置删了。文件内容如下:

open_basedir=***********

好了,问题解决了。

反思

之后回过头来想想,其实一开始就应该想到去看看 ngnix 的日志。之前也接触过 .user.ini 这个文件,那时只记得他是防治跨站攻击用的。

.user.ini 知识点

自 PHP 5.3.0 起,PHP 支持基于每个目录的 .htaccess 风格的 INI 文件。此类文件仅被 CGI/FastCGI SAPI 处理。此功能使得 PECL 的 htscanner 扩展作废。如果使用 Apache,则用 .htaccess 文件有同样效果。

除了主 PHP.ini 之外,PHP 还会在每个目录下扫描 INI 文件,从被执行的 PHP 文件所在目录开始一直上升到 web 根目录($_SERVER['document_ROOT'] 所指定的)。如果被执行的 PHP 文件在 web 根目录之外,则只扫描该目录。

在 .user.ini 风格的 INI 文件中只有具有 PHP_INI_PERDIR 和 PHP_INI_USER 模式的 INI 设置可被识别。

更多Laravel相关技术文章,请访问Laravel教程栏目进行学习! 总结

以上是内存溢出为你收集整理的痛苦的排错之” No input file specified.“报错 ”No input file specified.“ 排查全部内容,希望文章能够帮你解决痛苦的排错之” No input file specified.“报错 ”No input file specified.“ 排查所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1234425.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存