Monthly Archives: Январь 2014

Установка Apache, подключение PHP и MySQL

Первая статья в этом новом 2014 году 🙂 В очередной раз после переустановки Windows возникла необходимость в установке Apache с поддержкой PHP и MySQL. Установка Apache Скачаем последную версию Apache с официального сайта http://httpd.apache.org/download.cgi Найдите и скачайте MSI-инсталлятор: httpd-2.0.65-win32-x86-no_ssl.msi (Скачать). Если нужен Apache с OpenSQL, то выберите: httpd-2.0.65-win32-x86-openssl-0.9.8y.msi (Скачать) Запустите установщик httpd-2.0.65-win32-x86-no_ssl.msi В окне приветствия нажмите Next: 01 - welcome Согласившись с лицензионным соглашением, выберите пункт "I accept the terms in the license agreement" и нажмите Next: 02 - agree В следующем информационном окне просто нажмите Next: 03 - info Далее следует заполнить информацию о вашем сервере. Можно заполнить как в данном примере. Выберите первый рекомендуемый пункт и нажмите Next, это будет означать, что Apache будет установлен как сервис для всех пользователей и будет работать по 80-му порту: 04 - as service Выберите обычную установку (Typical) и нажмите Next: 05 - typical Измените директорию установки на диск C: и нажмите Next 06 - dest Всё готово для установки, нажмите Install: 07 - install После завершения процесса установки нажмите кнопку Finish: 08 - finish
Примечание: Процесс установки может завершиться некорректно из-за того, что 80 порт может быть занят другим приложением, и нужно будет выбрать другой порт. Например: 8421. Откроем конфигурационный файл: C:\Apache2\conf\httpd.conf Заменим строку Listen 80 на Listen 8421. Запустим установщик httpd-2.0.65-win32-x86-no_ssl.msi заново. В окне приветствия нажмите Next. В следующем окне выберите Repair и нажмите Next: 09 - repair Всего готово к починке, нажав кнопку Install, Apache должен починиться.
Если установка прошла успешно, все равно рекомендую поменять 80-ый порт на другой, чтобы не было конфликтов ни сейчас, ни в будущем. Как было описано ранее нужно в файле C:\Apache2\conf\httpd.conf заменить строку Listen 80 на Listen 8421. Остается перезапустить службу Apache2 и наш веб-сервер доступен по 8421-му порту. В браузере введите адрес: http://localhost:8421 Должна появиться стартовая страница Apache: 10 - ready Подключение PHP C официального сайта http://windows.php.net/download/ скачайте zip-архив с PHP или скачайте здесь. Если у вас 64-битная Windows, то можете выбрать x64 (лучшая производительность) или x86. Если у вас 32-битная Windows, то вам подойдет только x86. Распакуйте zip-архив php-5.3.5-Win32-VC6-x86.zip в папку C:\Php Откройте конфигурационный файл C:\Apache2\conf\httpd.conf И в начало этого файла добавить следующие строки:
PHPIniDir "C:/Php/"  
LoadModule php5_module C:/Php/php5apache2.dll
AddType application/x-httpd-php phtml php 
В строке LoadModule php5_module C:/Php/php5apache2.dll вам нужно будет указать вашу версию библиотеки. Будьте внимательны! Указывайте библиотеку, соответствующую вашей версии Apache. В нашем случае версия Apache 2.0, поэтому мы указали php5apache2.dll. Для версии 2.2 - php5apache2_2.dll, для версия 2.4 - php5apache2_4.dll и т.д. Если укажите не ту версию, то Apache не запуститься, а в логах будет примерно такая ошибка:
Syntax error on line 2 of C:/Apache2/conf/httpd.conf
В httpd.conf найдите строку:
DirectoryIndex index.html index.html.var
Замените ее на:
DirectoryIndex index.php index.html index.html.var
В DirectoryIndex определяется порядок файлов по умолчанию. Теперь приступим к настройке самого PHP. Найстройки PHP храняться в файле C:\Php\php.ini, этого файла пока нет, но есть два других
  • php.ini-development (для разработки)
  • php.ini-production (для промышленного использования)
Нас устраивает php.ini-development, поэтому просто переименуем его в php.ini Теперь необходимо в файле php.ini включить расширения mysql и mysqli. Для этого найдите строки:
;extension=php_mysql.dll
;extension=php_mysqli.dll
Где строчки помеченные символом ; отключены Для включения расширений php_mysql.dll и php_mysqli.dll нужно убрать ;
extension=php_mysql.dll
extension=php_mysqli.dll
Также найдите строку:
; extension_dir = "ext"
Замените её на следующую:
extension_dir = "c:/php/ext"
MySQLi является обновленной версией драйвера PHP MySQL, и дает различные улучшения в работе с базами данных. Также поддержка сокращенного тега <? по умолчанию отключена, и вам нужно использовать полную версию тега <?php Для это пропишите настройку так:
short_open_tag = On
Сохраните сделанные изменения и перегрузите Apache.