require_once: не удалось открыть поток: в доступе отказано (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

2

Решение

Проблема была действительно в разрешениях, я думаю, потому что я скопировал папку.

Я исправил это chmod 777 на все файлы в этой папке, и теперь он работает нормально.

Спасибо за ваше время, пытаясь помочь мне.

6

Другие решения

Я проверил, используя относительные пути, и он отлично работает.

<?php

require_once '../test.php';

echo ' you';

куда test.php просто содержит echo "hello"; привел к ожидаемому «привет тебе».

Я предполагаю, что ваша проблема с правами доступа к файлам. Можете ли вы проверить, какие разрешения на вашем system_helper.php? Это должен быть хотя бы исполняемый пользователем файл php (обычно www-data). Я мог бы воспроизвести ваше сообщение об ошибке, выполнив chown root test.php а также chmod 600 test.php так что я бы предположил что-то вроде

chown www-data: system_helper.php

или же

chmod g+rwx system_helper.php

должен дать вам разрешение на запуск скрипта.

1

require_once требует абсолютных путей, а не относительного пути. Это должно помочь:

require_once realpath(dirname(__FILE__)."/helpers/system_helper.php");
0

Откройте терминал, вставьте и выполните эти команды:

sudo -i
sudo chmod -R 777 var/www/html/*/*.*

Конечно, введите пароль при появлении запроса после sudo -i

Теперь ваши требования и включения будут работать!

0
По вопросам рекламы [email protected]