PHP, MySQL | как решить проблему
Вот скрин. Когда прописать /public то все ок
------
89670_20251114145849.png (31.5 Kb)
Скачиваний: 13
------
Скачиваний: 13
php
return forumFoundationSite::fromPaths([
'base' => __DIR__,
'public' => __DIR__.'/public',
'storage' => __DIR__.'/storage',
]);________
посл. ред. 14.11.2025 в 17:01; всего 1 раз(а); by OZZY
Вот скрин. Когда прописать /public то все ок
В панели управления. Если это lavarel, то надо в ручную прописать, либо создать символическую ссылку. Это вопрос к хостеру. На серваке это дело двух секунд.
Вот что выдал ии платный ,мб поможет
Проблема с Корневой Директорией OpenServer (Document Root)
Большинство современных PHP-фреймворков и CMS (особенно те, которые используют разделение base / public) требуют, чтобы Document Root веб-сервера (Apache/Nginx) был установлен НЕ на корень вашего проекта, а на папку public внутри него.
Текущая (Неправильная) Настройка: OpenServer, возможно, настроен на D:/OpenServer/domains/ваш_сайт/.
Когда вы открываете ваш_сайт/, выполняется index.php в корне. Этот файл (видимо, не тот, который должен быть) пытается подключить /public и вызывает ошибку.
Правильная Настройка: Document Root должен быть установлен на D:/OpenServer/domains/ваш_сайт/public/.
Когда вы открываете ваш_сайт/, автоматически выполняется файл public/index.php, который является точкой входа и знает, как правильно загрузить фреймворк, используя ваш код, где пути вычисляются корректно через __DIR__.
2. Как Исправить в OpenServer
Вам нужно изменить настройки домена в OpenServer:
Откройте настройки OpenServer.
Перейдите в раздел "Домены" (Domains) или "Настройки доменов".
Найдите ваш домен в списке.
В поле "Корневая папка домена" (или Document Root) измените путь с:
D:/OpenServer/domains/ваш_сайт/
на D:/OpenServer/domains/ваш_сайт/public/ (Добавьте /public в конец пути).
Сохраните изменения и Перезагрузите OpenServer.
После этого, при обращении к ваш_сайт/, веб-сервер будет смотреть сразу в папку public, и ваш код должен работать корректно, так как все пути к файлам будут правильно разрешены относительно точки входа (public/index.php).
❓ Почему /public работает?
Когда вы вручную прописываете /public в адресной строке (ваш_сайт/public), вы принудительно заставляете веб-сервер запустить index.php (или другой файл) из этой директории, обходя некорректно настроенный Document Root, который по умолчанию смотрел в корень проекта.
Скорректируйте Document Root в OpenServer — это стандартный шаг при настройке проектов, использующих паттерн MVC/MVVM.
Если после изменения Document Root проблема останется, вероятно, нужно будет посмотреть содержимое файла, который вызывает эту ошибку require_once('/public') (скорее всего, это корневой index.php, который вообще нужно игнорировать или удалить, если Document Root настроен правильно).
Проблема с Корневой Директорией OpenServer (Document Root)
Большинство современных PHP-фреймворков и CMS (особенно те, которые используют разделение base / public) требуют, чтобы Document Root веб-сервера (Apache/Nginx) был установлен НЕ на корень вашего проекта, а на папку public внутри него.
Текущая (Неправильная) Настройка: OpenServer, возможно, настроен на D:/OpenServer/domains/ваш_сайт/.
Когда вы открываете ваш_сайт/, выполняется index.php в корне. Этот файл (видимо, не тот, который должен быть) пытается подключить /public и вызывает ошибку.
Правильная Настройка: Document Root должен быть установлен на D:/OpenServer/domains/ваш_сайт/public/.
Когда вы открываете ваш_сайт/, автоматически выполняется файл public/index.php, который является точкой входа и знает, как правильно загрузить фреймворк, используя ваш код, где пути вычисляются корректно через __DIR__.
2. Как Исправить в OpenServer
Вам нужно изменить настройки домена в OpenServer:
Откройте настройки OpenServer.
Перейдите в раздел "Домены" (Domains) или "Настройки доменов".
Найдите ваш домен в списке.
В поле "Корневая папка домена" (или Document Root) измените путь с:
D:/OpenServer/domains/ваш_сайт/
на D:/OpenServer/domains/ваш_сайт/public/ (Добавьте /public в конец пути).
Сохраните изменения и Перезагрузите OpenServer.
После этого, при обращении к ваш_сайт/, веб-сервер будет смотреть сразу в папку public, и ваш код должен работать корректно, так как все пути к файлам будут правильно разрешены относительно точки входа (public/index.php).
❓ Почему /public работает?
Когда вы вручную прописываете /public в адресной строке (ваш_сайт/public), вы принудительно заставляете веб-сервер запустить index.php (или другой файл) из этой директории, обходя некорректно настроенный Document Root, который по умолчанию смотрел в корень проекта.
Скорректируйте Document Root в OpenServer — это стандартный шаг при настройке проектов, использующих паттерн MVC/MVVM.
Если после изменения Document Root проблема останется, вероятно, нужно будет посмотреть содержимое файла, который вызывает эту ошибку require_once('/public') (скорее всего, это корневой index.php, который вообще нужно игнорировать или удалить, если Document Root настроен правильно).
