Руководство по установке PHP7 из исходного кода в Linux

Все дистрибутивы Linux поставляются с PHP. Тем не менее, рекомендуется загрузить последнюю версию исходного кода PHP, скомпилировать и установить в Linux. Это упростит обновление PHP на постоянной основе сразу после того, как новый патч или релиз станут доступны для загрузки из PHP. В этой статье объясняется, как установить PHP7 из исходного кода в Linux.

1. Предпосылки

Веб-сервер Apache уже должен быть установлен. Если вы планируете использовать PHP с MySQL, у вас уже должен быть установлен MySQL.

2. Скачать PHP

Загрузите последний исходный код со страницы загрузки PHP . Текущая стабильная версия — 7.4.2. Переместите источник в /usr/local/src и извлеките его, как показано ниже.

# bzip2 -d php-7.4.2.tar.bz2
# tar xvf php-7.4.2.tar

3. Установите PHP

Просмотрите все параметры конфигурации, доступные для PHP, используя ./configure –-help (два дефиса перед справкой). Наиболее часто используемая опция — –prefix = {install-dir-name} для установки PHP в пользовательский каталог.

# cd php-7.4.2
# ./configure --help

В следующем примере PHP будет скомпилирован и установлен в папку по умолчанию /usr/local/lib с конфигурацией Apache и поддержкой MySQL.

# ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql
# make
# make install
# cp php.ini-dist /usr/local/lib/php.ini

4. Настройте httpd.conf для PHP

Измените /usr/local/apache2/conf/httpd.conf, добавив следующее:

<FilesMatch "\.ph(p[2-6]?|tml)$">
SetHandler application/x-httpd-php
</FilesMatch>

Убедитесь, что в httpd.conf есть следующая строка, которая будет автоматически вставлена ​​в процессе установки PHP.

 

 

LoadModule php7_module modules/libphp7.so

Перезапустите Apache, как показано ниже:

# /usr/local/bin/apache2/apachectl restart

5. Проверьте установку PHP

Создайте test.php в /usr/local/apache2/htdocs со следующим содержимым

# vi test.php
<? php phpinfo (); ?>

Перейдите по адресу http: //local-host/test.php, где будет показана подробная информация обо всех параметрах конфигурации PHP и модулях PHP, установленных в системе.

6. Устранение неполадок во время установки

Ошибка 1: настройка: ошибка: xml2-config не найден: при
выполнении ./configure во время установки PHP вы можете получить следующую ошибку:

# ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql
Configuring extensions
checking whether to enable LIBXML support... yes
checking libxml2 install dir... no
checking for xml2-config path...
configure: error: xml2-config not found. Please check your libxml2 installation.

Установите thelibxml2-devel и zlib-devel, как показано ниже, чтобы решить эту проблему.

# rpm -ivh /home/downloads/linux-iso/libxml2-devel-2.6.26-2.1.2.0.1.i386.rpm /home/downloads/linux-iso/zlib-devel-1.2.3-3.i386.rpm
Preparing...                ########################################### [100%]
1:zlib-devel             ########################################### [ 50%]
2:libxml2-devel          ########################################### [100%]

Ошибка 2: настройка: ошибка: не удается найти заголовочные файлы MySQL.
При выполнении ./configure во время установки PHP вы можете получить следующую ошибку:

# ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql
checking for MySQL UNIX socket location... /var/lib/mysql/mysql.sock
configure: error: Cannot find MySQL header files under yes.
Note that the MySQL client library is not bundled anymore!

Установите пакет MySQL-devel-community, как показано ниже, чтобы решить эту проблему.

# rpm -ivh /home/downloads/MySQL-devel-community-5.1.25-0.rhel5.i386.rpm
Preparing...                ########################################### [100%]
1:MySQL-devel-community  ########################################### [100%]