使用宝塔面板创建PHP网站,”no input file specified”怎么办?

使用宝塔面板创建php网站,”no input file specified”怎么办?今天,建站的时候却遇到了一个很奇怪的问题:先是出现”no input file specified”错误,后来出现500错误。

百度、搜狗搜索之后,发现很多人都遇到过相似的问题,一堆专家在下面回答,却几乎没有可用的解决方案,提出的问题也没有得到最终的解决,后来,终于知道出现这问题的原因了,下面请看分析!

查错过程:

此时,我要说两个重要的东西:.user.ini 和 .htaccess ,这两个文件也是在创建网站时自动生成的。

.htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置;.user.ini则指定了PHP中的basedir,个人理解就是网站的运行目录。

这两个文件不能删

“No input file specified.”意思即没有指定输入文件。接下来排错。

1、首先想到的是没有运行index.php,于是把文件中内容修改为只显示一行文本,果然刷新后依然没有显示,说明确实没有运行index.php,也就是说可能问题出在Apache、php或网站的配置上。

2、排除了PHP版本的问题

3、打开宝塔中此网站设置,这里主要看了伪静态和配置文件两个板块。创建网站后伪静态里面其实是空白的,没有什么设置;而配置文件中看起来也没有什么 问题。

其实在解决问题的过程中还是乱填了一些东西,因为都是从网上搜索出来的,所以都没有成功,最后还是恢复成了默认的样子。

4、在设置里面没有实质性的突破后,回到服务器上查找问题。/下找到文件夹,必定是保存的运行日志,大概可以从这里去找找问题

5、ls下来,可以看到里面是所有已建网站的运行日志和错误日志。

6、找到不能打开的网站的错误日志,more一下。发现里面讲到“is not within the allowed path(s):”这个目录不在允许的路径中。

解决方案:

日志中提到这个目录不在允许的路径中。其实很说明问题。

为什么不被允许?允许的路径是哪里?是否加入到允许的路径就可以被访问?

带着这个问题进行思考,我们通常会发现,出现问题时走了很多弯路,而在通过对各种线索的分析后,真相会逐渐浮出水面。

既然错误提示我们权限的问题,那么就从权限上去找答案。

宝塔里面所建立的网站,是可以被访问的,这在建站完成时证明是成功的,说明宝塔系统没有问题。

then?

Apache管理WEB服务器的环境,也是没有问题。

PHP56管理PHP环境,这就是经过推理后的症结所在。

这里讲的当然是宝塔里面的PHP56。

我们知道PHP的配置文件是php.ini,可是宝塔里的PHP配置文件在哪里呢?

进入到PHP的配置界面

按ctrl+f,打开窗口搜索界面,搜索什么内容呢?

从前面错误日志的分析来看,新网站的目录没有加进open_basedir,也就是说其他能访问的网站都在这个文件夹里!

所以搜索open_basedir,或者/,也就是的根目录。结果非常理想,很快就得到我想寻找的内容 。

果然在open_basedir下没有新建网站的目录。注意一下“open_basedir=”后面的路径是用 : 来分隔,所以在最后加上”:/”这个路径,重启PHP,再次测试,正常打开网站。

至此,这个问题完美解决。当然,出现这个错误还有可能是另一种原因,站点目录关闭“防跨站攻击”即可,详情进入:宝塔搭建php网站出现 no input file specified 错误解决办法

可能解决的方法非常简单,但在处理的过程中,其实经历了很多曲折。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注