Скомпилируйте PHP с помощью php-xml, php-gd и php-common

Я нашел документацию, которая требует от меня установить через yum следующее: php, php-common, php-xml и php-gd. Требуемой версией PHP является PHP 5.4, срок службы которого истек, и он не включен в репозиторий AlmaLinux 8 или репозиторий REMI.

Я проверил много сайтов, и они используют PHP 5.4 и 5.5, что означает, что мне нужно будет скомпилировать версии PHP для разных сайтов. PHP 5.6 более желателен, так как я могу установить его из репозитория REMI, но я обеспокоен тем, что это сломает ситуацию.

Что произойдет, если я буду использовать более старшую версию PHP на этом существующем сайте. Например, если на сайте используется PHP 5.4.30, а я устанавливаю PHP 5.4.45, может ли это вызвать проблему? Или проблемы чаще возникают при переходе с одной основной версии на другую. Например, с PHP 5.4 на PHP 5.5.

Мне нужно будет скомпилировать PHP 5.4 из исходного кода. Какие параметры мне нужно будет пройти, чтобыconfigureчтобы убедиться, что они установлены? Я считаю./configure --enable-xml --with-gdполучат модули, которые установлены сyum install php-xml php-gd. Я не уверен, что мне поможет PHP.

Я пробовал компилировать следующим образом:

      ./configure --prefix=/usr --exec-prefix=/usr --enable-xml --with-gd
make
make install 

Список модулей показывает как xml, так и gd. Я считаю, что эти два варианта охватывают установку php-gd и php-xml.

      [root@almalinux-8 php-5.4.45]# php -m
[PHP Modules]
Core
ctype
date
dom
ereg
fileinfo
filter
gd
hash
iconv
json
libxml
pcre
PDO
pdo_sqlite
Phar
posix
Reflection
session
SimpleXML
SPL
sqlite3
standard
tokenizer
xml
xmlreader
xmlwriter

Глядя на RPM-контент php-common, кажется, что есть куча библиотек и настроек: curl.so, fileinfo.so, json.so, phar.so и zip.so:

      # rpm -ql php-common
/etc/php.d
/etc/php.d/curl.ini
/etc/php.d/fileinfo.ini
/etc/php.d/json.ini
/etc/php.d/phar.ini
/etc/php.d/zip.ini
/etc/php.ini
/usr/lib64/php
/usr/lib64/php/modules
/usr/lib64/php/modules/curl.so
/usr/lib64/php/modules/fileinfo.so
/usr/lib64/php/modules/json.so
/usr/lib64/php/modules/phar.so
/usr/lib64/php/modules/zip.so
/usr/share/doc/php-common-5.4.16
/usr/share/doc/php-common-5.4.16/CODING_STANDARDS
/usr/share/doc/php-common-5.4.16/CREDITS
/usr/share/doc/php-common-5.4.16/EXTENSIONS
/usr/share/doc/php-common-5.4.16/LICENSE
/usr/share/doc/php-common-5.4.16/NEWS
/usr/share/doc/php-common-5.4.16/README.EXTENSIONS
/usr/share/doc/php-common-5.4.16/README.EXT_SKEL
/usr/share/doc/php-common-5.4.16/README.GIT-RULES
/usr/share/doc/php-common-5.4.16/README.MAILINGLIST_RULES
/usr/share/doc/php-common-5.4.16/README.NEW-OUTPUT-API
/usr/share/doc/php-common-5.4.16/README.PARAMETER_PARSING_API
/usr/share/doc/php-common-5.4.16/README.PHP4-TO-PHP5-THIN-CHANGES
/usr/share/doc/php-common-5.4.16/README.REDIST.BINS
/usr/share/doc/php-common-5.4.16/README.RELEASE_PROCESS
/usr/share/doc/php-common-5.4.16/README.SELF-CONTAINED-EXTENSIONS
/usr/share/doc/php-common-5.4.16/README.STREAMS
/usr/share/doc/php-common-5.4.16/README.SUBMITTING_PATCH
/usr/share/doc/php-common-5.4.16/README.TESTING
/usr/share/doc/php-common-5.4.16/README.TESTING2
/usr/share/doc/php-common-5.4.16/README.UNIX-BUILD-SYSTEM
/usr/share/doc/php-common-5.4.16/README.WIN32-BUILD-SYSTEM
/usr/share/doc/php-common-5.4.16/README.input_filter
/usr/share/doc/php-common-5.4.16/README.namespaces
/usr/share/doc/php-common-5.4.16/TSRM_LICENSE
/usr/share/doc/php-common-5.4.16/ZEND_CHANGES
/usr/share/doc/php-common-5.4.16/ZEND_LICENSE
/usr/share/doc/php-common-5.4.16/libmagic_LICENSE
/usr/share/doc/php-common-5.4.16/phar_LICENSE
/usr/share/doc/php-common-5.4.16/php.ini-development
/usr/share/doc/php-common-5.4.16/php.ini-production
/usr/share/doc/php-common-5.4.16/regex_COPYRIGHT
/usr/share/php
/var/lib/php

Будет ли компиляция PHP с--with-curl --enable-fileinfo --enable-json --enable-phar --with-pear --enable-zipобеспечивают ту же функциональность, что и динамические библиотеки: curl.so, fileinfo.so, json.so, phar.so и zip.so?

Файлы php.ini не копировались после компиляции и установки PHP. Я установил параметр конфигурации с помощью--with-config-file-path=/etcи скопировал его в другой файл php.ini.

Кажется, что PHP не загружается с Apache, что означает, что мне также нужно будет скомпилировать другие пакеты.

0 ответов

Другие вопросы по тегам