В этой статье расскажу о самых основных настройках php, которые наиболее важны. Это минимум, который необходим для запуска нового сервера.
Все настройки делаются с помощью файла php.ini Находится он может где угодно, если вы не знаете где находится php.ini, выполните phpinfo(); в скрипте и найдите параметр Loaded Configuration File, тут и будет путь до конфига php. Открывайте этот файл, будем его править.
Не приятный заголовок, который выдает сервер при работе PHP скрипта.
X-Powered-By: Этот заголовок появляется когда информация выводится с помощью PHP скрипта.
Если запросить статический html документ, то этого заголовка не будет, но если информацию на страницу выведет PHP скрипт, то в этом заголовке будет подобное
X-Powered-By: PHP/5.2.5
То есть заголовок объясняет всем, что страница создана с помощью PHP и показывает версию PHP.
Даже если вы используете mod rewrite и обращаетесь к страницам как к статическим документам, то этот заголовок все равно расскажет всем, что страница создана с помощью PHP. Лучше убрать этот заголовок. Полезно, если вы хотите замаскировать свой сайт под полностью статический, ну и хулиганы лишний раз не узнают версию PHP.
Находим в php.ini
expose_php = on
меняем значение на off
Короткие теги php. Классически начало php скрипта обозначается <?php, но можно для упрощения начинать скрипт просто <?, вот этот вариант и называется короткий тег.
По умолчанию обычно короткие теги отключены в php, но большая часть программистов используют короткие теги в своих скриптах, поэтому лучше включить короткие теги, чтобы не было проблем.
Для включения находим short_open_tag = off
и меняем значение на on
Если short_open_tag не нашли, добавьте сами.
Запрет на выход за пределы директории. Если php запущен под windows, то по умолчанию из любого php скрипта можно получить доступ к любому файлу на компьютере. Стандартными средствами windows нельзя ограничить доступ как в unix. По этой причине, очень давно я случайно очистил весь свой диск С:/ , естественно потеряв всю систему.
Можно ограничить доступ php скриптов к директориям и файлам через php.ini.
Находите параметр
open_basedir =
Возможно он будет закрыт комментарием (;), тогда удалите комментарий и пропишите путь, выше которого php скрипты не смогут получить доступ.
Например
open_basedir =C:/xampp/ Если вы устанавливали сервер с помощью xampp, то весь сервер у вас находится в одной папке, поэтому можно разрешить доступ ко всей папке сервера, либо можете ограничить только папкой, в которой лежат скрипты.
Слэш в конце обязателен, если его не поставить (C:/xampp), то в данном примере доступ будет разрешен и к папке xampp и к папке xamppaswe, то есть к любой папке которая начинается на xampp.
Этот параметр можно будет менять в виртуальных хостах, назначая для каждого сайта свой каталог доступа.
Подробнее об этом читайте основные настройки apache.
Глобальные переменные register globals
Обязательно проверьте, чтобы register_globals = Off обязательно был off, никогда не ставьте on, за исключением тех случаев, когда этого требуют надежные скрипты. Этот параметр отключает копирование глобальных переменных (POST, GET, SESSION и т.д.) в обычные. То есть, если есть переменная $_GET['webi'], то при включенном параметре автоматически создается еще и обычная переменная $webi, содержащая данные из $_GET['webi']. Но некоторые считают, что при отключении register globals глобальные переменные совсем отключаются и они не смогут получить доступ к POST, GET и т.д. Поэтому напоминаю, что отключается только копирование глобальных переменных в обычные.
Время.
С помощью функций даты и времени проверьте какое время возвращает PHP. Скорее всего оно будет не вашей временной зоны, так как по умолчанию время в PHP устанавливается в UTC(не GMT). Если время на сервере для вас имеет значение, тогда в php.ini находите и редактируйте параметр
date.timezone
В этом параметре укажите необходимую вам временную зону, например у меня стоит зона Московская
date.timezone = "Europe/Moscow"
Для Новосибирска это выглядит так
date.timezone = "Asia/Novosibirsk"
Узнать как правильно пишется ваша временная зона можно так
<? print_r(DateTimeZone::listIdentifiers()); ?>
Это выдаст полный список временных зон.
Это были наиболее важные моменты в настройке php необходимые для запуска нового сервера. Все остальные настройки можно оставить по умолчанию, для запуска сервера этого хватит.
Но пока еще сервер не готов к запуску, читайте следующие статьи.
|