WeBinstruments

Инструментарий для веб-мастеров

 

Техподдержка и
сопровождение
сайтов


на сайте на всех сайтах для веб разработчиков везде
 
 Скрипты
  PHP скрипты   
  Flash скрипты   
  Javascript скрипты   

 Софт
  Инструменты SEO   
  Разработка сайтов   
  Серверное ПО   

 Документация
  MySQL   
  PHP   
  HTML   
  Протоколы и сервисы Internet   

 Статьи
  PHP   
  MySQL   
  Сервер   
  еще...   

 Услуги и сервисы
  Домены   
  Хостинги   
  Блоки для сайта   

 Новости


 Контакты
  icq: 158325531
  email:
  все контакты: здесь




Atom все поступления
Раздел Новости
Раздел Услуги и сервисы
Раздел Статьи
Раздел Файлы
комментарии

Главная / Статьи / Сервер / Подготовка PHP для запуска сервера


лого php
php

Подготовка PHP для запуска сервера

22.01.2010
сайт автора: http://webi.ru
публикация данной статьи разрешена только со ссылкой на сайт автора статьи



Данная статья входит в цикл статей, посвященных установке веб сервера на windows.

Установка веб сервера на windows
Настройка и защита apache под windows
Бесплатный ДНС сервер
Настройка php (эта статья)
Настройка mysql
Настройка phpmyadmin
Настройка sendmail 
Настройка ftp сервера FileZilla

В этой статье расскажу о самых основных настройках 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 = "Asia/Novosibirsk"
Для Москвы это выглядит так

date.timezone = "Europe/Moscow"

Узнать как правильно пишется ваша временная зона можно так

<? print_r(DateTimeZone::listIdentifiers()); ?>
Это выдаст полный список временных зон.


Это были наиболее важные моменты в настройке php необходимые для запуска нового сервера. Все остальные настройки можно оставить по умолчанию, для запуска сервера этого хватит.
Но пока еще сервер не готов к запуску, читайте следующие статьи.

 

Установка веб сервера на windows
Настройка и защита apache под windows
Бесплатный ДНС сервер
Настройка php (эта статья)
Настройка mysql
Настройка phpmyadmin
Настройка sendmail 
Настройка ftp сервера FileZilla




Комментарии

RSS комментарии


01.06.2010 Благодарю
Огромное спасибо за (" open_basedir =C:/xampp/ ") и "( date.timezone = "Europe/Moscow" )"



22.10.2010 Спасибо
date.timezone = "Europe/Moscow"



10.01.2011 serdjuzz
здравствуйте ,
XAMPP пишет что PHP - activated?
но тем не менее файл hello.php (с телом:
<html>
<head>
<title>Тестируем PHP</title>
</head>
<body>
<?php echo $_SERVER["HTTP_USER_AGENT"]; ?>
<?php phpinfo(); ?>
</body>
</html>)

не работает ?
в чем причина ? (запускаю из C:\Xampp)


спасибо



10.01.2011 админ
serdjuzz, я надеюсь вы запускаете эту страницу через http://localhost ?



10.01.2011 serdjuzz
пробуем теперь так:...
http://localhost/xampp/customveda/hello.php - путь к файлу в браузере

пишет:
Object not found!
The requested URL was not found on this server. If you entered the URL manually please check your spelling and try again.

If you think this is a server error, please contact the webmaster.

Error 404

localhost
10.01.2011 20:59:40
Apache



10.01.2011 админ
serdjuzz, в предыдущем сообщении вы писали, что запускаете скрипт из C:\Xampp
Вы прямо в эту папку и положили скрипт?
C:/Xampp/customveda/hello.php
Если да, то работать не будет, файлы нужно класть в c:\xampp\htdocs\



23.01.2011 Евгений
А где запускать команду
<? print_r(DateTimeZone::listIdentifiers()); ?>



23.01.2011 админ
Евгений, ну это вопрос прямо на засыпку.
Это php код.
Вставляете его в текстовый файл, даете файлу PHP имя, например 1.php, грузите его на свой сервер и запускаете его через браузер.
А чтобы лучше было видно все зоны, лучше вывести код в тегах <pre>.
Вот так

<pre>
<? print_r(DateTimeZone::listIdentifiers()); ?>
</pre>

Можете посмотреть, что на моем сервер показывает этот код
http://webi.ru/1.php



01.02.2011 Гошка
Спасибо



27.07.2011 Дмитрий
Спаисбо большое)



09.06.2012 Николай
У меня с date.timezone проблеми, ошибка не исчезает(((((



14.06.2012 Екатерина
Здравствуйте! Вышла ошибка "404 The requested URL /phpinfo.php was not found on this server." Текстовый файл phpinfo.php проверила находится C:/Apache2.2/htdocs Что еще не учла?



27.12.2012 Алексей
Огромное, человеческое спасибо за материал.




03.08.2014 Stepan_Efimov
Автору большое спасибо, очень хорошая статься.



Добавить свой комментарий


Ваше имя(* обязательно)


Текст сообщения(* обязательно)









 
 
  запомнить

 
Copyright © 2003-2017 WeBi Constructor
Rambler's Top100