使用宝塔建站也有很长一段时间了,一般情况都很正常,偶尔也会出现一些莫名其妙的问题,都能快速解决。

但是今天建站的时候却遇到了一个很奇怪的问题:先是出现”no input file specified”错误。百度、搜狗搜索之后,发现很多人都遇到过相似的问题,一堆专家在下面回答,却几乎没有可用的解决方案,提出的问题也没有得到最终的解决。

后来经过对各种线索和日志的分析,已经解决了这个问题,这里整理出来。也许这是全网唯一的可用方案,不是说技术独此一家,别人都不会,我还没有这么高傲自大;而是也许有人会,但不愿或懒得做这种编写文档的事情,那么现在遇到这种问题的人,真是只能绕弯想其他办法了。

一、问题模拟

因为问题已经解决,那么只能重新试图还原问题的现场。于是从头做了一次,把详细的过程写下来,为大家避坑。

  1. 首先登录到宝塔系统中。我的系统是基于Centos7下安装的宝塔,Windows版本可能有稍许不同。如果大家都用过宝塔,这里就不再啰嗦登录过程了,如果有问题可以私信。
  2. 建一个网站,这里用test.xxx.com来表示。这里没有放我自己的域名,就用xxx.com来表示一级域名吧,加了一个二级域名test。在输入域名时,会自动在www/wwwroot/下建立这个网站的根目录(与域名同名) 。下文中如果出现一级域名被打码,都是指xxx.com

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/test.xxx.com“这个路径,重启PHP,再次测试,正常打开网站。

至此,这个问题完美解决。

三、问题总结

宝塔建站出现这种问题一般是网站搬家导致,user.ini是从源站打包带过来的,解压缩到目标站以后指向的目录如果跟源站不同则会出现上述问题,解决方法就是关闭防跨站或者编辑user.ini,修改为正确的目录。

本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。

最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。 若排除这种情况,可在对应资源底部留言,或联络我们。

对于会员专享、整站源码、程序插件、网站模板、网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。

如果您已经成功付款但是网站没有弹出成功提示,请联系站长提供付款信息为您处理

源码素材属于虚拟商品,具有可复制性,可传播性,一旦授予,不接受任何形式的退款、换货要求。请您在购买获取之前确认好 是您所需要的资源