Главная страница » Настройка сервера » Подготовка PHP для запуска сервера (Настройка php)
Опрос
Вы занимаетесь разработкой сайтов?
Выделенные и виртуальные серверы в Европе

Подготовка PHP для запуска сервера (Настройка php)

Автор: administrator Дата: 2-06-2015, 09:45 Категория: Настройка сервера

В этой статье расскажу о самых основных настройках 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 необходимые для запуска нового сервера. Все остальные настройки можно оставить по умолчанию, для запуска сервера этого хватит.

Но пока еще сервер не готов к запуску, читайте следующие статьи.
  • Не нравится
  • 0
  • Нравится
Просмотров: 2 977 Напечатать Жалоба
Теги: php сервер
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Мы рекомендуем Вам зарегистрироваться либо зайти на сайт под своим именем.
Написать комментарий
Ваше Имя:
Ваш E-Mail:
  • bowtiesmilelaughingblushsmileyrelaxedsmirk
    heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
    winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
    worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
    expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
    disappointedconfoundedfearfulcold_sweatperseverecrysob
    joyastonishedscreamtired_faceangryragetriumph
    sleepyyummasksunglassesdizzy_faceimpsmiling_imp
    neutral_faceno_mouthinnocent
Код: Кликните на изображение чтобы обновить код, если он неразборчив
Введите код: