Руководство по установке 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%]