Как подключить 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 php_module "C:/путь/до/PHP/php8apache2_4.dll"

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

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

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

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

PHPIniDir "C:/PHP"
AddHandler application/x-httpd-php .php
LoadModule php_module "C:/PHP/php8apache2_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=ffi
;extension=ftp
;extension=fileinfo
;extension=gd
;extension=gettext
;extension=gmp
;extension=intl
;extension=imap
;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=odbc
;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=ffi
extension=ftp
extension=fileinfo
extension=gd
extension=gettext
extension=gmp
extension=intl
extension=imap
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=odbc
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=sodium
;extension=sqlite3
;extension=tidy
;extension=xsl

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

extension=soap
extension=sockets
extension=sodium
extension=sqlite3
extension=tidy
extension=xsl

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


Comments

  1. Здравствуйте. 

    Я выполнял настройку PHP по вашей инструкции. Но отличий было очень много. Потому как я скачал appach и там было сразу предложено с php. Вобщем всё в куче как говорится. И мне долго пришлось разбиратся и искать по файлам где, что находится. После выполненых действий как описывалось выше. Сёравно не получилось. Я думаю что я опять что-то не там где надо напутал или не то что надо написал очередной путь к файлам или что-то ещё. 

    У меня вопрос. 

    В папке php у меня есть два файла. Это php.ini   и  php.ini-development   . Правки я делал в php.ini-development . Но по скольку у меня есть php.ini , то переименовать девелопмент в  php.ini неполучилось . Предлогало переименовать в php.ini2 . Я отменил предложение. 

    Можно переименовать в какой другой файл кроме php.ini   ?

    Вот скрины моих файлов http://joxi.ru/xAeNXebuR8yNvr

    И вот таже ошибка после правок  http://joxi.ru/1A5QJ9dsD6PMPA

     

     

    1. Здравствуйте, вы занимаетесь ерундой. XAMPP — это уже настроенный и рабочий веб-сервер со всеми необходимыми компонентами, там не нужно ничего менять. Следуйте официальным инструкциям (я им никогда не пользовался) и всё должно просто работать.

      Если же вы хотите установить всё с нуля, то скачивайте оригинальные компоненты и настраивайте их, смотрите подробности в «Как установить веб-сервер Apache c PHP, MySQL и phpMyAdmin на Windows».

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

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

wp-puzzle.com logo