02
2015
01

PHP5.3提示PHP Warning: require(./xx.php) [function.require]: failed to open stream

由于目前IDC主机商提供的虚拟主机大多设置了严格的目录权限(ntfs类型磁盘),因此很多在PHP5.2下运行的程序 ,转化到PHP5.3环境下会出现各种不兼容问题。如果说是程序真不兼容,那么没办法,气人的是程序明明说了支持PHP5.3 ,但运行在5.3环境下时 提示烦人的错误:

譬如 wordpress 默认上传到很多服务商的PHP5.3的虚拟主机时会提示 :

Warning: require(./wp-blog-header.php) [function.require]: failed to open stream: No such file or directory in D:\vhost7\wwwroot\index.php on line 17
Fatal error: require() [function.require]: Failed opening required ‘./wp-blog-header.php’ (include_path=’.;C:\php5\pear’) in D:\wwwroot\1\index.php on line 17

 

把最新的 Discuz3.1 上传到?很多服务商的PHP5.3的虚拟主机时会提示 :

PHP Warning: require(./forum.php) [function.require]: failed to open stream: No such file or directory in D:\vhost7\Web3101501\wwwroot\dz\index.php on line 126 PHP Fatal error: require() [function.require]: Failed opening required './forum.php' (include_path='.;C:\php\pear') in D:\vhost3\Web3101501\wwwroot\dz\index.php on line 126

 

    细看这些错误提示的共同之处就是 找不到文件,但你查找时会发现此路径下已存在该文件。网上有人给出的原因是 PHP5.3不支持相对路径导致的。去掉错误提示里面包含文件的相对路径 “./”即可正常,用此方法测试也的确可行。不过如果一个程序存在太多相对路径的包含文件时改起来就很麻烦了。

  当然还有个更简单一些的方法避免去修改程序,经我们恒爱网络技术人员测试,当你给予PHP5.3虚拟主机根目录 wwwroot 的 internet来宾用户(经严格设置权限的的虚拟主机一般只给予 读取 和写入 权限) 增加一个“列出文件夹目录”权限后,问题就可以得到完美的解决了。如果你是用的我司虚拟主机,遇到此类问题,又不想改程序,可以联系我们为你设置下权限。


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。