我遇到了一个奇怪的问题。我试图将文件包含到我的 /assets 文件夹中的一个 php 文件中。在 php 文件中,我有一行 require "/opt/docker-substantiator2/app/application/libraries/koolreport/core/autoload.php"; 此行失败,我收到错误:
A PHP Error was encountered
Severity: Compile Error
Message: require(): Failed opening required '/opt/docker-substantiator2/app/application/libraries/koolreport/core/autoload.php' (include_path='.:/opt/bitnami/php/lib/php')
Filename: assets/MyReport.php
Line Number: 4
我认为我的 phpStorm 没有访问 autoload.php 的正确权限。因此,我从 CLI 运行了以下命令:
richb201@richb201-XPS-13-9370:/opt/docker-substantiator2/app/application/libraries/koolreport/core$ ls -l /opt/docker-substantiator2/app/application/libraries/koolreport/core/autoload.php
-rwxrwxrwx 1 richb201 richb201 1803 May 19 04:35 /opt/docker-substantiator2/app/application/libraries/koolreport/core/autoload.php
如您所见,我 (richb201) 是所有者,并且所有权限都可用。我不知道错误中的 include_path 注释是什么意思?知道我为什么会收到此错误吗?
答案1
PHP 不会包含任何文件;就像 Linux 的可执行文件 $PATH 变量一样,PHP 维护一个包含路径。只有此路径上的文件才会被包含,尝试包含该路径之外的文件会产生错误。
编辑php.ini
文件并将include_path
参数更改为您需要的,例如:
include_path = ".:/home/USERNAME/include_directory"
用字符分隔目录的路径:
。