как я могу установить PHP 5.3 на FreeBSD 11.2

У меня есть старое приложение, написанное на PHP 5.3, которое не подлежит обновлению и не работает с php56 и выше. Я бы хотел установить PHP 5.3 с большинством расширений на FreeBSD 11.2. И затем я хотел бы создать пакет (ы), который я мог бы использовать на другой машине.

К сожалению, PHP 5.3 больше не входит в порты. У меня старая версия портов, состоящая из PHP 5.3. Возникла проблема с компиляцией этого порта, есть много ошибок, и он не может быть успешным.

Может ли кто-нибудь указать путь для компиляции php 5.3 в качестве порта в FreeBSD 11.2?

Заранее благодарю.

0
задан 7 January 2019 в 02:04
2 ответа

Мне не удалось установить PHP 5.3 из портов, даже если я проверил более старую версию портов через svn.

Мне удалось скомпилировать его из исходного кода и запустить с nginx с большой помощью ] https://shami.blog/2018/02/running-older-php-versions-on-freebsd-11/

Короче говоря, нужно скомпилировать PHP 5.3 с FPM. Не все варианты компиляции работают. Для меня сработала следующая конфигурация:

# pkg install -y gcc6 patch libxml2 curl jpeg png freetype2 mcrypt mariadb100-client libxslt postgresql96-client 
# mkdir -p /home/php53
# cd /home/php53
# fetch --no-verify-peer https://museum.php.net/php5/php-5.3.29.tar.gz
# tar xvzf php-5.3.29.tar.gz
# cd php-5.3.29

после https://bugs.php.net/bug.php?id=63983

edit file sapi/fpm/fpm/fpm_sockets.c
just replace 
1)info.tcpi_sacked => info.__tcpi_sacked
2)info.tcpi_unacked => info.__tcpi_unacked

и

# ./configure --with-layout=GNU --with-regex=php --with-zend-vm=CALL --enable-zend-multibyte --build=FreeBSD-amd64 --prefix=/usr/local/php53 --exec-prefix=/usr/local/php53 --with-config-file-scan-dir=/usr/local/php53/etc/php --enable-cgi --with-libxml-dir=/usr/local/include/libxml2/libxml/ --enable-ftp --with-xsl=/usr/local/include/libxslt/ --enable-mbstring --with-curl --disable-short-tags --disable-ipv6 --with-curl=/usr/local/include/curl/ --enable-ftp --with-zlib-dir --with-freetype-dir --with-gettext --enable-mbstring --with-xmlrpc --enable-soap --enable-zip --enable-calendar --with-gmp --with-openssl --enable-wddx --with-pgsql=/usr/local/include/pgsql/ --enable-fpm
# make 
# make install

, затем некоторая конфигурация nginx и php_fpm

, затем включение службы в /etc/rc.conf

php_fpm_enable="YES"
nginx_enable="YES"

и вуаля

0
ответ дан 5 December 2019 в 04:37

В комментариях к вашему сообщению подчеркивается, что эта задача может быть не только сложной. пытаться так же сложно, как добиться успеха, но также вероятно небезопасно, даже если вам удастся добиться успеха.

Тем не менее, каноническим способом, вероятно, было бы загрузить репозиторий SVN дерева портов, определить, какой номер версии SVN удален поддержку PHP 5.3, которую вы ищете, а затем откатите свое SVN-дерево до версии непосредственно перед этим. После этого у вас возникнут все необходимые проблемы, связанные с выяснением, можно ли по-прежнему загружать архивы исходных текстов, совместимы ли вспомогательные библиотеки и другие API, присутствующие в FreeBSD 11.2, с тем, что ожидает устаревшая версия PHP и т. Д. И т. Д.

0
ответ дан 5 December 2019 в 04:37

Теги

Похожие вопросы