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

发布时间 - 2019-06-28 00:00:00    点击率:

报错 ”No input file specified.“ 排查

背景

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

排查

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

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

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

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

  • 我百度了一下,有人说可能是 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 0
    PHP message: PHP Warning:  Unknown: failed to open stream: Operation not permitted in Unknown on line 0
    Unable 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教程栏目进行学习!


# php  # laravel  # 字符串  # CGI  # input  # apache  # 我就  # 我把  # 删了  # 源代码  # 我也  # 我要  # 我在  # 好了  # 我觉得  # 他是 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Linux系统命令中tree命令详解  如何将凡科建站内容保存为本地文件?  在centOS 7安装mysql 5.7的详细教程  怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?  如何在腾讯云服务器上快速搭建个人网站?  大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?  谷歌浏览器如何更改浏览器主题 Google Chrome主题设置教程  悟空浏览器如何设置小说背景色_悟空浏览器背景色设置【方法】  ,怎么在广州志愿者网站注册?  Python图片处理进阶教程_Pillow滤镜与图像增强  JS中对数组元素进行增删改移的方法总结  零基础网站服务器架设实战:轻量应用与域名解析配置指南  如何在阿里云虚拟主机上快速搭建个人网站?  网站优化排名时,需要考虑哪些问题呢?  如何在IIS中配置站点IP、端口及主机头?  使用PHP下载CSS文件中的所有图片【几行代码即可实现】  浅谈Javascript中的Label语句  小米17系列还有一款新机?主打6.9英寸大直屏和旗舰级影像  在线制作视频的网站有哪些,电脑如何制作视频短片?  如何快速查询网址的建站时间与历史轨迹?  如何在阿里云虚拟服务器快速搭建网站?  宙斯浏览器怎么屏蔽图片浏览 节省手机流量使用设置方法  如何在万网自助建站平台快速创建网站?  Win11怎么关闭透明效果_Windows11辅助功能视觉效果设置  如何安全更换建站之星模板并保留数据?  Laravel Telescope怎么调试_使用Laravel Telescope进行应用监控与调试  夸克浏览器网页跳转延迟怎么办 夸克浏览器跳转优化  如何在万网ECS上快速搭建专属网站?  Claude怎样写结构化提示词_Claude结构化提示词写法【教程】  iOS验证手机号的正则表达式  如何在阿里云域名上完成建站全流程?  怎样使用JSON进行数据交换_它有什么限制  HTML5空格在Angular项目里怎么处理_Angular中空格的渲染问题【详解】  浏览器如何快速切换搜索引擎_在地址栏使用不同搜索引擎【搜索】  高防服务器租用如何选择配置与防御等级?  香港服务器建站指南:免备案优势与SEO优化技巧全解析  Windows10怎样连接蓝牙设备_Windows10蓝牙连接步骤【教程】  Laravel如何优雅地处理服务层_在Laravel中使用Service层和Repository层  node.js报错:Cannot find module 'ejs'的解决办法  Laravel如何实现模型的全局作用域?(Global Scope示例)  Laravel API资源类怎么用_Laravel API Resource数据转换  如何续费美橙建站之星域名及服务?  如何用wdcp快速搭建高效网站?  如何自定义建站之星模板颜色并下载新样式?  关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)  Python数据仓库与ETL构建实战_Airflow调度流程详解  Laravel怎么配置.env环境变量_Laravel生产环境敏感数据保护与读取【方法】  Laravel怎么集成Vue.js_Laravel Mix配置Vue开发环境  如何在 React 中条件性地遍历数组并渲染元素  Microsoft Edge如何解决网页加载问题 Edge浏览器加载问题修复