Как подключить PHP к Apache на Windows

Начнём с того, что скачаем самую новую версию PHP для Windows с официального сайта: https://windows.php.net/download/

Там несколько вариантов, которые различаются:

  • версией (например, 7.2, 7.1, 7.0, 5.6)
  • битностью (64 и 32)
  • Thread Safe или Non Thread Safe

Выбирайте самую последнюю версию, с той битностью, какая у вашего сервера. Т.е. если у вас Apache 64-битный, то PHP также должен быть 64-битным. Всегда выбирайте Thread Safe версию.

Для каждого файла имеется две ссылки:

  • Zip
  • Debug Pack

Выбирайте Zip, поскольку отладочный пакет только для тех, кто действительно зачем, зачем он им нужен. Здесь имеется ввиду не отладка PHP-скриптов, а отладка самого интерпретатора PHP.

Настройка PHP в Windows

Настройка выполняется в два этапа:

  • подключение PHP к Apache
  • изменение настроек самого PHP (какие расширения включены, сколько выделено памяти PHP скриптам и т.д.)

Подключение PHP к Apache

Для подключения PHP к Apache откройте конфигурационный файл веб-сервера, который расположен по следующему пути: Apache24\conf\httpd.conf (в папке сервера, в подпапке conf, файл httpd.conf).

В этот файл добавьте три строки, две из которых нужно откорректировать:

PHPIniDir "C:/путь/до/PHP"
AddHandler application/x-httpd-php .php
LoadModule php7_module "C:/путь/до/PHP/php7apache2_4.dll"

В первой строке вместо C:/путь/до/PHP напишите точный путь до папки, куда вы распаковали файлы PHP. В третьей строке C:/путь/до/PHP/php7apache2_4.dll также откорректируйте путь, указав расположение PHP папки.

К примеру, я распаковал PHP в папку C:/Server/bin/PHP, тогда мои настройки следующие:

PHPIniDir "C:/Server/bin/PHP"
AddHandler application/x-httpd-php .php
LoadModule php7_module "C:/Server/bin/PHP/php7apache2_4.dll"

Если папка PHP находится в корне диска C, тогда эти строки должны быть такими:

PHPIniDir "C:/PHP"
AddHandler application/x-httpd-php .php
LoadModule php7_module "C:/PHP/php7apache2_4.dll"

Чтобы изменения вступили в силу, перезапустите веб-сервер или компьютер.

Настройка PHP

В папке PHP найдите файл php.ini-development и переименуйте его в php.ini – это нужно сделать обязательно, иначе PHP не будет видеть сделанные настройки.

Открываем файл php.ini любым текстовым редактором, ищем строчку

; extension_dir = "ext"

и заменяем её на

extension_dir = "C:\путь\до\PHP\ext\"

Обратите внимание, что вам нужно скорректировать строку C:\путь\до\PHP\ext\, указав конкретный путь до папки, где размещены файлы PHP.

У PHP (как и у Apache) имеется много расширений. Если вы не знаете, какое расширение для чего нужно, то как минимум два варианта:

  • начать изучить предназначение каждого расширения и подключить только те, которые вам действительно нужны;
  • подключить самые важные расширения, чтобы любые сайты и движки работали без ошибок.

Чтобы подключить большую часть расширений, найдите группу строк:

;extension=bz2
;extension=curl
;extension=fileinfo
;extension=gd2
;extension=gettext
;extension=gmp
;extension=intl
;extension=imap
;extension=interbase
;extension=ldap
;extension=mbstring
;extension=exif      ; Must be after mbstring as it depends on it
;extension=mysqli
;extension=oci8_12c  ; Use with Oracle Database 12c Instant Client
;extension=openssl
;extension=pdo_firebird
;extension=pdo_mysql
;extension=pdo_oci
;extension=pdo_odbc
;extension=pdo_pgsql
;extension=pdo_sqlite
;extension=pgsql
;extension=shmop

и замените её на:

extension=bz2
;extension=curl
extension=fileinfo
extension=gd2
extension=gettext
extension=gmp
;extension=intl
extension=imap
;extension=interbase
;extension=ldap
extension=mbstring
extension=exif      ; Must be after mbstring as it depends on it
extension=mysqli
;extension=oci8_12c  ; Use with Oracle Database 12c Instant Client
extension=openssl
;extension=pdo_firebird
extension=pdo_mysql
;extension=pdo_oci
extension=pdo_odbc
;extension=pdo_pgsql
extension=pdo_sqlite
;extension=pgsql
extension=shmop

теперь раскомментируйте эту группу строк:

;extension=soap
;extension=sockets
;extension=sqlite3
;extension=tidy
;extension=xmlrpc
;extension=xsl

должно получиться:

extension=soap
extension=sockets
extension=sqlite3
extension=tidy
extension=xmlrpc
extension=xsl

Мы подключили самые востребованные расширения, чтобы работало как можно больше функций PHP.

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *