为什么此文件的权限被拒绝?

为什么此文件的权限被拒绝?

我遇到了一个奇怪的问题。我试图将文件包含到我的 /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"

用字符分隔目录的路径:

相关内容