Nickolay.info. PHP. Статьи. Установка последних версий PHP, MySQL и PHPMyAdmin под Windows 7

Старая статья здесь. Всё написанное ниже имеет смысл для Windows 7 Professional, где есть нужные серверные компоненты. Если у Вас "недочеловеческая" версия, какой-нибудь Starter или Home Edition, то либо поставьте Professional, либо поищите другие решения, скажем, Denwer.

1. Установить службу IIS (сервер) в Windows 7. Для этого идём Пуск, Панель управления, Программы, Включение или отключение компонент Windows, открываем список Службы IIS, далее вложенный список Средства управления Web-сайтом, включаем Консоль управления IIS и Службу управления IIS. Мдя, там же проверьте, включена ли галочка Службы IIS - Службы Интернета - Компоненты разработки приложений - CGI. Должна быть включена. Ну и все остальные галочки из списка "Компоненты разработки приложений" тоже включите.

2. Включаем в меню Пуск компоненту "Администрирование": правая кнопка "мыши" на кнопке Пуск, Свойства, вкладка меню Пуск, кнопка Настроить..., для элемента "Администрирование" выбрать Отображать в меню "Все программы" и "Пуск", подтвердить кнопкой ОК, затем Применить.

3. Установить полный доступ на папку c:\Inetpub\wwwroot для пользователей IIS_WPG и IIS_IUSRS.

Детально: в окне Компьютер щёлкаем правой кнопкой мыши на папке wwwroot, Свойства, вкладка Безопасность, находим в списке Группы или пользователи записи IIS_WPG и IIS_IUSRS, для каждой из них ставим разрешения на полный доступ. После установки флажка доступа нажимаем кнопку Дополнительно, в новом окне кнопку Изменить разрешения, а в очередном окне "Дополнительные параметры безопасности для wwwroot" ставим флажок Заменить все разрешения дочернего объекта на разрешения, наследуемые от этого объекта, после чего кнопка Применить и Да в окне подтверждения.

Если какого-то из указанных пользователей нет в свойствах папки wwwroot, делаем так: кнопка Изменить на вкладке Безопасность, в новом окне кнопка Добавить, в следующем окне кнопка Дополнительно, в следующем окне кнопка Поиск. Затем двойной щелчок по нужному пользователю в списке Результаты поиска и кнопка ОК в окне Выбор: "Пользователи" или "Группы".

4. Поставить в Диспетчере служб IIS "Документы по умолчанию" с именами index.html и index.php.

Кнопка Пуск, Администрирование, Диспетчер служб IIS, значок Документ по умолчанию, доступные Действия справа. Желательно первым в списке поставить имя index.php, вторым - имя index.html

5. Установить PHP для Windows, я обычно по привычке ставлю в папку c:\PHP, хотя это необязательно, настройки компонент можно оставить по умолчанию, тип сервера - FastCGI, если в этом месте ругается, ищите, каких компонент не хватает в Винде.

6. Проверить, что в настройках Диспетчера служб IIS - "Сопоставления обработчиков" для типа *.php назначен обработчик php-cgi.exe (имя обработчика - PHP_via_FastCGI) с доступом на выполнение сценариев (кнопка Ограничения запроса).

7. Установить MySQL под Windows, по окончании установки в ответ на запрос выбрать детальную настройку конфигурации, кодовая страница cp1251 (Кириллица Windows), выберите её через список "Manual Selected Default Character Set..." на одном из шагов установки, имя пользователя и пароль можно поставить root, всё остальное оставляем по умолчанию. После настройки Configuration Wizard запустит сервис и скажет, что всё ОК.

8. Архив ZIP с приложением PHPMyAdmin извлекаем в папку c:\inetpub\wwwroot, там должна появиться вложенная папка, я обычно переименовываю её так, чтоб она называлась просто PHPMyAdmin. Приходилось сталкиваться и с тем, что Windows 7 отказывает администратору в создании папки внутри wwwroot. Не волнуйтесь, а просто поменяйте соответствующему пользователю права на "полный доступ" (как написано в п. 3).

9. Проверить, что в браузере ссылка http://127.0.0.1/phpmyadmin работает, при первом запуске PHPMyAdmin логин и пароль установить root

10. Проверить работу системы на тестовом файле

<?php 
 phpinfo();
?>

Чтобы это сделать, достаточно скопировать листинг в файл c:\Inetpub\wwwroot\index.php и потом набрать в браузере http://127.0.0.1

Должна появиться системная информация о PHP со всеми текущими настройками.

Немного о настройках PHP

К сожалению, в PHP 5.3.X целый ряд функций объявлен устаревшими, в том числе, широко применяемые методы session_register(), magic_quotes_runtime() и т.д. Что ещё хуже, теперь по умолчанию нельзя использовать "стиль разработчиков" <? Код PHP ?> в самом теге PHP! Вместо него нужно указывать "стиль XML" <?php Код PHP ?>. Так что, в случае чего, для "слишком новых" версий PHP во всех файлах с кодом нужно заменить строку <? на <?php или же установить в файле конфигурации php.ini директиву

short_open_tag = On

Вам вообще не раз придётся менять те или иные настройки PHP с помощью директив этого файла. Так, многие старые скрипты требуют работы с глобальными переменными (устарело и опасно!) Такая поддержка включается директивой

register_globals = On

- но лучше сразу привыкать писать на PHP без слова global.

Чтобы Ваш скрипт мог закачивать файлы, нужно настроить секцию [File Uploads]:

;Разрешаем закачку файлов
file_uploads = On

;Временная директория - она должна существовать и иметь правильные
;настройки прав - см. п. 3
upload_tmp_dir = C:/PHP/uploadtemp 

;Максимальный размер закачиваемого файла
upload_max_filesize = 2M

Кстати, с символов ; в файле php.ini начинаются комментарии, там очень подробно расписано, какая настройка эа что отвечает.

Символы апострофа ' и кавычки " являются служебными для PHP и одна из традиционных проблем скриптов - обработка этих символов, встречающихся в пользовательских данных. Здесь PHP-программист немало мучается с настройками "магических кавычек", я лично неоднократно применял функцию magic вот отсюда, а в данный момент у меня в php.ini стоят такие настройки кавычек:

magic_quotes_gpc = On
magic_quotes_runtime = Off
magic_quotes_sybase = Off

А ещё лучше выключить все 3 директивы - с решением по последней ссылке скрипт всё равно должен остаться работающим.

Настройки пользовательских сессий из секции [Session] лучше не трогать, единственное, что нужно проверить - существование папки из настройки session.save_path и права на неё.

Файл php.ini следует переместить в папку Windows - иначе могут быть проблемы с рядом скриптов.

Наконец, для подключения к PHP внешних модулей, они должны быть правильно прописаны в секции [Dynamic Extensions]:

extension=../php/ext/php_gd2.dll

Здесь библиотека динамического создания изображений php_gd2.dll подключена из файла c:\WINDOWS\php.ini - отсюда и относительный путь от php.ini до папки расширений c:\php\ext. Если путь c:\php\ext внесён в системную переменную PATH, запись могла иметь вид и просто

extension=php_gd2.dll

Ссылки от разработчиков, где можно скачать весь указанный софт в последних версиях:

 Скачать PHP (ссылка для Windows)

 Скачать MySQL

 Скачать PHPMyAdmin

К вопросу о Denwer

Вы можете спросить - а зачем всё это нужно, ведь есть "Денвер", который поставит всё сразу! Увы, оснований сделать всё самому достаточно:

Тем не менее, Denwer - неплохое решение для ленивых, если Вам повезёт, он даже будет работать :)

Рейтинг@Mail.ru

вверх гостевая; E-mail