Я только что купил общий хостинг (OVH.com — PHP 5.6.21) для размещения проекта Symfony 3 (версия 3.1.3).
При загрузке файла config.php Symfony на сервер он отображает только 2 сообщения с рекомендациями для повышения скорости работы сайта, но ничего, что могло бы помешать работе сайта. Итак, хостинг кажется достаточно хорошим, чтобы правильно запустить этот проект.
Я отправил все файлы и папки на сервер, но когда я пытаюсь добраться до страницы app_dev.php, у меня появляется это сообщение об ошибке:
You are not allowed to access this file. Check app_dev.php for more information.
Я знаю, что должен добавить свои IP-адреса в массив разрешенных IP-адресов в файле app_dev.php, так что вот что я сделал (XXX.XXX.XXX.XXX — мой IP-адрес):
if (isset($_SERVER['HTTP_CLIENT_IP'])
|| isset($_SERVER['HTTP_X_FORWARDED_FOR'])
|| !(in_array(@$_SERVER['REMOTE_ADDR'], ['127.0.0.1', 'XXX.XXX.XXX.XXX', 'fe80::1', '::1']) || php_sapi_name() === 'cli-server')
) {
header('HTTP/1.0 403 Forbidden');
exit('You are not allowed to access this file. Check '.basename(__FILE__).' for more information.');
}
Я пробовал разные вещи, чтобы увидеть, откуда возникла проблема:
Файл var / logs / dev.log полностью пуст, даже если права 777.
Если у вас есть идеи о том, откуда возникла проблема, я был бы рад, если бы вы могли мне помочь.
Заранее спасибо за помощь !
PS: когда я пытаюсь добраться до среды prod (app.php), я получаю ошибку 500, но файл var / logs / prod.log содержит строки об ошибках MySQL … так что я думаю, это нормально.
Читая код, вы точно знаете, в чем проблема 🙂 Или, по крайней мере, это может быть одной из двух причин:
Client-IP
или же X-Forwarded-For
заголовок, который может быть установлен обратным прокси (например, Varnish), установленным перед вашим сайтом.Независимо от фактической причины, желательно НЕ открывать фронт-контроллер app_dev.php на рабочем сервере. Разработка должна вестись на вашей локальной машине. Фальсификация этой проверки может случайно открыть среду разработки для внешнего мира.
Других решений пока нет …