Мне нужна помощь в решении, что говорит об ошибке разрешения в 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
Проблема была действительно в разрешениях, я думаю, потому что я скопировал папку.
Я исправил это chmod 777
на все файлы в этой папке, и теперь он работает нормально.
Спасибо за ваше время, пытаясь помочь мне.
Я проверил, используя относительные пути, и он отлично работает.
<?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
должен дать вам разрешение на запуск скрипта.
require_once
требует абсолютных путей, а не относительного пути. Это должно помочь:
require_once realpath(dirname(__FILE__)."/helpers/system_helper.php");
Откройте терминал, вставьте и выполните эти команды:
sudo -i
sudo chmod -R 777 var/www/html/*/*.*
Конечно, введите пароль при появлении запроса после sudo -i
Теперь ваши требования и включения будут работать!