Loading...
Короче проблема в том что вроде все правильно настроенно. Скрипт с автоустановкой. Использую VDS от FirstVDS. Но не могу понять почему происходит ошибка. В логах:
php
   PHP Warning:  file_exists(): open_basedir restriction in effect. File(/autoload.php) is not within the allowed path(s): (/var/www/www-root/data:.) in /var/www/www-root/data/www/localhost.fvds.ru/core/vendor/vonage/nexmo-bridge/src/Autoloader.php on line 69, referer: https://localhost.fvds.ru/admin/dashboard   
По идеи ссылается на то что функция file_exists() пытается получить доступ к файлу autoload.php и из за ограничения open_basedir в конфигах PHP. Ну решил я в конфигах сделать так
php
   open_basedir = /var/www/www-root/data:/var/www/www-root/data/www/localhost.fvds.ru/core   
Перезагрузил сервер Apache. И ничего не изменилось. Как появлялась эта ошибка в логах, так и появляется дальше. Вот код Autoloader.php где фиггирует 69 линия ошибки.
php
   /**      * @throws RuntimeException      */     private static function getClassLoader() : ClassLoader     {         if (file_exists(getenv('COMPOSER_VENDOR_DIR') . '/autoload.php')) {             return include getenv('COMPOSER_VENDOR_DIR') . '/autoload.php';         }          if (file_exists(__DIR__ . '/../../../autoload.php')) {             return include __DIR__ . '/../../../autoload.php';         }          if (file_exists(__DIR__ . '/../vendor/autoload.php')) {             return include __DIR__ . '/../vendor/autoload.php';         }          throw new RuntimeException('Cannot detect composer autoload. Please run composer install');     }   
Плюс прикреплю скрины. Кто знает как решить проблемку.

Изображение

------
87515_20240313_162202.png (62.6 Kb)
Скачиваний: 87
.

Изображение

------
87516_20240313_162404.png (13.9 Kb)
Скачиваний: 83
dengri_in (13 мар 2024, в 17:19)
Короче проблема в том что вроде все правильно настроенно. Скрипт с автоустановкой. Использую VDS от FirstVDS. Но не могу понять почему происходит ошибка. В логах:
php
   PHP Warning:  file_exists(): open_basedir restriction in effect. File(/autoload.php) is not within the allowed path(s): (/var/www/www-root/data:.) in /var/www/www-root/data/www/localhost.fvds.ru/core/vendor/vonage/nexmo-bridge/src/Autoloader.php on line 69, referer: https://localhost.fvds.ru/admin/dashboard   
По идеи ссылается на то что функция file_exists() пытается получить доступ к файлу autoload.php и из за ограничения open_basedir в конфигах PHP. Ну решил я в конфигах сделать так
php
   open_basedir = /var/www/www-root/data:/var/www/www-root/data/www/localhost.fvds.ru/core   
Перезагрузил сервер Apache. И ничего не изменилось. Как появлялась эта ошибка в логах, так и появляется дальше. Вот код Autoloader.php где фиггирует 69 линия ошибки.
php
   /**      * @throws RuntimeException      */     private static function getClassLoader() : ClassLoader     {         if (file_exists(getenv('COMPOSER_VENDOR_DIR') . '/autoload.php')) {             return include getenv('COMPOSER_VENDOR_DIR') . '/autoload.php';         }          if (file_exists(__DIR__ . '/../../../autoload.php')) {             return include __DIR__ . '/../../../autoload.php';         }          if (file_exists(__DIR__ . '/../vendor/autoload.php')) {             return include __DIR__ . '/../vendor/autoload.php';         }          throw new RuntimeException('Cannot detect composer autoload. Please run composer install');     }   
Плюс прикреплю скрины. Кто знает как решить проблемку.
69 линия при наличии всего 19ти.
скрипт лезет в файловую систему, которая закрыта для доступа - ХОСТЕРОМ

и file_exists() не пытается получить доступ к ФАЙЛУ, она проверяет существование ФАЙЛА ИЛИ КАТАЛОГА, для файловой системы файл и каталог - это одно и то же, если нужно проверить, что подключаемый файл существует и является ИМЕННО ФАЙЛОМ, то нужно использовать is_file()

скрипт должен лежать в папке, которую ХОСТЕР предоставляет для размещения, если ты создал там ещё какие-то папки типа бреда вроде localhost.fvds.ru, то нужно выходить на уровень выше
Вилы Выкидные , localhost только здесь заменил чтобы адрес не палить. В некоторые директории без ошибки заходит например в авторизацию админ панели а после авторизации опять ошибка. Щас ещё покапаюсь
dengri_in (13 мар 2024, в 18:16)
Вилы Выкидные , localhost только здесь заменил чтобы адрес не палить. В некоторые директории без ошибки заходит например в авторизацию админ панели а после авторизации опять ошибка. Щас ещё покапаюсь
WWW - это папка твоего домена, на неё он ссылается, создавать папку с именем домена в папке этого же домена - не нужно
dengri_in , у хостера закрыт доступ туда, куда лезет твой скрипт
Вилы Выкидные , Это VDS, в 1 посту указано
И логин www-root обычно ISP создаёт по дефолту
dengri_in , Под root можно отключить open_basedir в настройках WWW - домена
Онлайн: 3
Время:
Gen. 0.116
(c) Bym.Guru 2010-2026