Error[2]: array_slice() expects parameter 1 to be array, null given, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 441
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 441, array_slice(03 , 1)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 165, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
Error[2]: Invalid argument supplied for foreach(), File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 441
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 165, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
使用宝塔面板创建PHP网站,”no input file specified”怎么办?_服务器_内存溢出

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

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

使用宝塔面板创建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、在设置里面没有实质性的突破后,回到服务器上查找问题。


/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 错误解决办法

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


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

原文地址: http://outofmemory.cn/zz/575624.html

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

发表评论

登录后才能评论

评论列表(0条)

保存