包含$ {USER}和$ {LOGIN}等环境变量的include_path不起作用

时间:2015-09-09 06:57:18

标签: php include-path

我正在努力理解这一点。

我的CentOS VM上有这个目录树:

/home/  
   |_user1/ 
        |_classes/
        |_includes/
        |_public_html/
/home/
   |_user2/
        |_classes/
        |_includes/
        |_public_html/
/home/
   |_user3/
        |_classes/
        |_includes/
        |_public_html/

如您所见,user1, user2user3,它们都具有相同的目录树。
如果我在include_path文件中设置php.ini,如下所示:

include_path = "/home/${USER}/classes/:/home/${USER}/includes/"

然后将我的file1.inc.php分别放在包含class.MyClass.php,然后require_once或{{ 1}},或者其他什么都没有发生,但是include_once blabla,错误......

来自PHP's Manual on include paths

  

ENV变量也可以在.ini文件中访问。因此,可以使用$ {LOGIN}和$ {USER}来引用主目录   环境变量可能因服务器API而异,因为这些环境可能不同。

所以...
我的failed to open stream: No such file or directory设置是否正确?

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

使用此:

include_path =.:/home/${USER}/classes/:/home/${USER}/includes/

你可以在PHP手册中找到相同的解决方案,即一些Unix系统(即Centos 5.2上的PHP 5.1.6)php.ini中的include_path不应该被引用。希望这会帮助你。