Почему MODX не использует $_SERVER['DOCUMENT_ROOT']?
Почему в MODX явно задаются пути к корневой директории сайта в файлах
config.core.php
connectors/config.core.php
manager/config.core.php
core/config/config.inc.php
почему не используется серверная константа $_SERVER['DOCUMENT_ROOT']?
на сколько безопасно указать во всех этих файлах именно $_SERVER['DOCUMENT_ROOT']?
Это ведь упростит переезд с одного сервера на другой — сайт по факту не будет привязан ничем кроме кредов бд и доменом сайта?
config.core.php
connectors/config.core.php
manager/config.core.php
core/config/config.inc.php
почему не используется серверная константа $_SERVER['DOCUMENT_ROOT']?
на сколько безопасно указать во всех этих файлах именно $_SERVER['DOCUMENT_ROOT']?
Это ведь упростит переезд с одного сервера на другой — сайт по факту не будет привязан ничем кроме кредов бд и доменом сайта?
Комментарии: 7
- Разные серверные окружения: Значение $_SERVER['DOCUMENT_ROOT'] может отличаться в разных серверных окружениях. Например, на одном сервере оно может быть установлено как /var/www/html, а на другом — как /usr/local/apache/htdocs. Если ваш код зависит от конкретного значения $_SERVER['DOCUMENT_ROOT'], то он может работать неправильно на разных серверах.
- Символические ссылки: Если ваш сайт использует символические ссылки, то $_SERVER['DOCUMENT_ROOT'] может указывать на физический путь, а не на путь, который вы ожидаете. Например, если ваш сайт находится в /var/www/html/mywebsite, а $_SERVER['DOCUMENT_ROOT'] указывает на /var/www/html, то $_SERVER['DOCUMENT_ROOT'] не будет указывать на корневую папку вашего сайта.
- Безопасность: Использование $_SERVER['DOCUMENT_ROOT'] напрямую может привести к уязвимостям безопасности. Например, если ваш код использует $_SERVER['DOCUMENT_ROOT'] для создания путей к файлам, то злоумышленник может использовать это для получения доступа к файлам, которые не должны быть доступны.
- Поддержка разных версий PHP: Значение $_SERVER['DOCUMENT_ROOT'] может отличаться в разных версиях PHP. Например, в PHP 5.3 и выше оно может быть установлено как /var/www/html, а в более ранних версиях — как /var/www. Если ваш код зависит от конкретного значения $_SERVER['DOCUMENT_ROOT'], то он может работать неправильно на разных версиях PHP.
Этот ответ из gpt я уже читал и мне не показалось это чемто критичным, однако все таки решил спросить)
У меня сайт на nginx все пути прописывал сам, поэтому если это никак не отражается то в целом действительно проще использовать серверную константу
У меня сайт на nginx все пути прописывал сам, поэтому если это никак не отражается то в целом действительно проще использовать серверную константу
Если все сайты, которые ты делаешь, будут всегда работать на сервере, который ты сам настраивал, и ты уверен, что их не перенесут на шаред с неизвестными настройками, то конечно используй константу.
Супер, да речь об одном конкретном сайте, спасибо!)
Вообще странные они ребята кто это придумал. Если у человека кастомные настройки нужны, то там же есть выбор Advanced Installation Package. В 99% случаев $_SERVER['DOCUMENT_ROOT'] всем подойдет. Остальные CMS всегда используют эту переменную, но только MODX решил выделиться)))
ну вот меня это и смутило, отсюда и задался вопросом — вдруг это как-то для безопасности или еще чего сделано)
Добавлю пять копеек )
Если указать $_SERVER['DOCUMENT_ROOT'], то, к примеру, скрипты, использующие подключение API MODX не будут работать, если они запускаются по CRON.
Если указать $_SERVER['DOCUMENT_ROOT'], то, к примеру, скрипты, использующие подключение API MODX не будут работать, если они запускаются по CRON.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.