【发布时间】:2015-12-04 20:50:19
【问题描述】:
我认为 php 包含路径是一个非常简单的概念。我已经做过很多次了,但现在很难让它工作。
我正在运行一个
Azure 上的centos 7.1 服务器与 Apache/2.4.6 PHP/5.4.16
当我修改php.ini 中的include_path 时。重启apache后的错误显示
打开所需的“xfile”失败(include_path='.:/var/custom_directory')...
包含路径采用正确的文件格式。
我可能有所有权问题。
我可以将我的文件放在默认的usr/share/php 目录和页面"include" 中。但是,当我尝试将自己的目录放在 /var 中时,他们没有。
我以前做过这个,所以我不知道为什么它现在不起作用。
我已经 chowned 和 chmod 这些目录及其内容到死。甚至模仿工作目录的服务器。将所有权切换到apache 并授予完全授权访问权限,只是试图让它从我的/var/www/html/index.php 中查看文件
我错过了什么吗?
我需要在php 或http.conf 文件中启用或授予访问权限或修改某些内容吗?
更多信息: 这是系统/etc/php.ini中唯一包含的php.ini文件
包含路径的目的是在防火墙后面提供编码/用户文件。
我不认为这很重要,但我的虚拟机在 Azure 中。
这样写
include('/var/custom_directory/file.php');
也不行。为什么?
【问题讨论】:
-
什么是include_path?
-
包含路径是 php.ini 文件中的配置设置。例如在我的 centos 7.1 上,它位于 /etc/php.ini
-
你需要它做什么?
-
将文件放在 /www 后面的安全位置
-
@Demodave,我的意思是,你的 include_path 设置是什么?
标签: php apache azure include-path azure-virtual-machine