require_once:无法打开流:权限被拒绝(lampp)

require_once: failed to open stream: Permission denied(lampp)

我需要帮助解决 htdocs 文件夹中的权限错误,因为我需要更改它们以首先添加文件夹。

这是我的 init.php 文件:

<?php
//Start Session
session_start();

//Include Configuration
require_once('config/config.php');

//Helper Function Files
require_once('helpers/system_helper.php');
require_once('helpers/format_helper.php');
require_once('helpers/db_helper.php');

//Autoload Classes
function __autoload($class_name){
require_once('libraries/'.$class_name . '.php');
}
?>

我尝试通过 `

包含它

当我 运行 我的 index.php 文件时,我得到这个错误:

Warning: require_once(../../htdocs/PHP-Wizard/helpers/system_helper.php): failed to open stream: Permission denied in /opt/lampp/htdocs/PHP-Wizard/core/init.php on line 9

Fatal error: require_once(): Failed opening required '../../htdocs/PHP-Wizard/helpers/system_helper.php' (include_path='.:/opt/lampp/lib/php') in /opt/lampp/htdocs/PHP-Wizard/core/init.php on line 9

我尝试使用 ../ 向上移动一个文件夹,但它不起作用。

我四处寻找与我类似的错误,但没有找到。他们都说No such file or directory in (path).

会不会是同样的错误,或者我真的需要更改我的权限,如果是这样,我该怎么做?

编辑:当我使用 include_once('helpers/system_helper.php'); 时出现此错误:

Warning: include_once(helpers/system_helper.php): failed to open stream: Permission denied in /opt/lampp/htdocs/PHP-Wizard/core/init.php on line 9

Warning: include_once(): Failed opening 'helpers/system_helper.php' for inclusion (include_path='.:/opt/lampp/lib/php') in /opt/lampp/htdocs/PHP-Wizard/core/init.php on line 9

Warning: include_once(helpers/format_helper.php): failed to open stream: Permission denied in /opt/lampp/htdocs/PHP-Wizard/core/init.php on line 10

Warning: include_once(): Failed opening 'helpers/format_helper.php' for inclusion (include_path='.:/opt/lampp/lib/php') in /opt/lampp/htdocs/PHP-Wizard/core/init.php on line 10

Warning: include_once(helpers/db_helper.php): failed to open stream: Permission denied in /opt/lampp/htdocs/PHP-Wizard/core/init.php on line 11

Warning: include_once(): Failed opening 'helpers/db_helper.php' for inclusion (include_path='.:/opt/lampp/lib/php') in /opt/lampp/htdocs/PHP-Wizard/core/init.php on line 11

我使用相对路径进行了测试,它工作正常。

<?php

require_once '../test.php';

echo ' you';

其中 test.php 仅包含 echo "hello"; 导致预期的 "hello you"。

我猜你的问题出在文件权限上。你能检查一下你的 system_helper.php 有什么权限吗?它应该至少可由用户执行 php is 运行ning as(通常是 www-data)。我可以通过执行 chown root test.phpchmod 600 test.php 来重现您的错误消息,所以我猜是

chown www-data: system_helper.php

chmod g+rwx system_helper.php

应该授予您 运行 脚本的权限。

确实是权限问题,我猜是因为我复制了文件夹。

我通过 chmod 777 对该文件夹中的所有文件进行了修复,现在可以正常工作了。

感谢您花时间帮助我。