php包含path错误:相同的代码在Ubuntu默认的Apache和php conf上工作,但不在CentOS上

因此,相同的代码在我的Ubuntu服务器上工作,但是当我上传到我运行CentOS的专用托pipe服务器时,它似乎添加了一个额外的前缀includepath .:/usr/share/pear:/usr/share/php:不同的东西,但它不工作。 该文件位于与包含它的文件所在的文件夹相同的文件夹下,并使用以下语言:

 include dirname(__FILE__).DIRECTORY_SEPARATOR."language".DIRECTORY_SEPARATOR."storage.inc"; include dirname(__FILE__)."/language/language.php"; include "language/language.php"; 

和很多其他的组合,但我不能find该文件。 我不断收到错误消息:

 Fatal error: require_once() [function.require]: Failed opening required '/home/neo/public_html/migration/include/class/core/storage.inc' (include_path='.:/usr/share/pear:/usr/share/php:/home/neo/public_html/migration') in /home/neo/public_html/migration/include/class/core/class_lang.inc on line 153 

每当我有什么奇怪的不在CentOS上工作,首先要检查的是selinux。 这是默认情况下的一个安全系统,它会阻止程序在没有给予明确权限的任何地方访问文件。

你可以看看

 /var/log/secure or maybe /var/log/audit/audit.log 

拒绝消息,或者你可以暂时closuresselinux进行testing

 echo 0 >/selinux/enforce 

然后testing – 但稍后再打开它

 echo 1 >/selinux/enforce 

并研究如何调整它以使其正常工作。