使用宝塔面板创建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、在设置里面没有实质性的突破后,回到服务器上查找问题。
/www/下找到wwwlogs文件夹,必定是保存的运行日志,大概可以从这里去找找问题
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,或者/www/wwwroot/,也就是www的根目录。
结果非常理想,很快就得到我想寻找的内容 。
果然在open_basedir下没有新建网站的目录。
注意一下“open_basedir=”后面的路径是用 : 来分隔,所以在最后加上”:/www/wwwroot/http://test.xxx.com”这个路径,重启PHP,再次测试,正常打开网站。
至此,这个问题完美解决。
当然,出现这个错误还有可能是另一种原因,站点目录关闭“防跨站攻击”即可,详情进入:宝塔搭建php网站出现 no input file specified 错误解决办法
可能解决的方法非常简单,但在处理的过程中,其实经历了很多曲折。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)