Гид по технологиям

Сборка PHP 5.6.36 (FastCGI)

• 4 min read • DevOps • Обновлено 17 Nov 2025
Сборка PHP 5.6.36 (FastCGI) — инструкция
Сборка PHP 5.6.36 (FastCGI) — инструкция

Краткая инструкция по сборке PHP 5.6.36 из исходников с поддержкой FastCGI (CGI/FastCGI/PHP-FPM совместимость). Приведён набор команд для Debian/Ubuntu, включены шаги по подключению OPcache, APCu и расширений memcache/memcached через PECL, а также рекомендации по отладке и альтернативы для продакшена.

Введение

Эта инструкция описывает последовательность команд и ключевые замечания при компиляции PHP 5.6.36 с включённой поддержкой FastCGI. Предполагается, что вы работаете в среде Debian/Ubuntu с правами root или используя sudo. PHP 5.6 — устаревшая ветка; применяйте её только если у вас есть совместимые приложения и план миграции.

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

Требования и подготовка окружения

Кратко о том, что потребуется:

  • Debian/Ubuntu с доступом к apt
  • build-essential и зависимости для сборки
  • Доступ в /usr/local/src или аналогичный каталог для исходников
  • Понимание рисков использования устаревшей ветки PHP

Минимальные команды подготовки:

mkdir /opt/phpfcgi-5.6.36  
mkdir /usr/local/src/php5-build  
cd /usr/local/src/php5-build  
wget http://de.php.net/get/php-5.6.36.tar.bz2/from/this/mirror -O php-5.6.36.tar.bz2  
tar jxf php-5.6.36.tar.bz2
cd php-5.6.36/

Установка базовых пакетов и зависимостей:

apt-get install build-essential
apt-get build-dep php5
apt-get install libfcgi-dev libfcgi0ldbl libjpeg62-dbg libmcrypt-dev libssl-dev libc-client2007e libc-client2007e-dev

Если вы собираете PHP с поддержкой IMAP, создайте символьную ссылку на libc-client.a:

ln -s /usr/lib/libc-client.a /usr/lib/x86_64-linux-gnu/libc-client.a

Примечание: без этой ссылки ./configure может завершиться ошибкой «Cannot find imap library (libc-client.a)».

Конфигурация и сборка

Запустите ./configure с опциями, приведёнными ниже, или откорректируйте набор опций под свои требования. Просмотреть все опции можно командой:

./configure --help

Пример команды конфигурации, включающей множество распространённых расширений и важный флаг –enable-cgi для поддержки FastCGI:

./configure --prefix=/opt/phpfcgi-5.6.36 --with-pdo-pgsql --with-zlib-dir --with-freetype-dir --enable-mbstring --with-libxml-dir=/usr --enable-soap --enable-calendar --with-curl --with-mcrypt --with-zlib --with-gd --with-pgsql --disable-rpath --enable-inline-optimization --with-bz2 --with-zlib --enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --enable-exif --enable-bcmath --with-mhash --enable-zip --with-pcre-regex --with-mysql --with-pdo-mysql --with-mysqli --with-jpeg-dir=/usr --with-png-dir=/usr --enable-gd-native-ttf --with-openssl --with-fpm-user=www-data --with-fpm-group=www-data --with-libdir=/lib/x86_64-linux-gnu --enable-ftp --with-imap --with-imap-ssl --with-kerberos --with-gettext --with-xmlrpc --with-xsl --enable-opcache --enable-cgi

После успешной конфигурации соберите и установите:

make
make install

Скопируйте конфигурационный файл php.ini в целевой каталог:

cp /usr/local/src/php5-build/php-5.6.36/php.ini-production /opt/phpfcgi-5.6.36/lib/php.ini

Чтобы включить Zend OPcache, в конец файла /opt/phpfcgi-5.6.36/lib/php.ini добавьте:

[...]
zend_extension=opcache.so

Установка APCu, memcache и memcached через PECL

Установите PEAR, инициализируйте каналы и установите расширения через pecl, указывая конфигурацию PEAR в каталогe PHP:

apt-get -y install php-pear
cd /opt/phpfcgi-5.6.36/etc
pecl -C ./pear.conf update-channels

Установка APCu:

pecl -C ./pear.conf install channel://pecl.php.net/apcu-4.0.6

Затем откройте /opt/phpfcgi-5.6.36/lib/php.ini и добавьте конфигурацию:

[...]
extension=apcu.so
apc.enabled=1
apc.shm_size=128M
apc.ttl=0
apc.gc_ttl=600
apc.enable_cli=1
apc.mmap_file_mask=/tmp/apc.XXXXXX
;apc.mmap_file_mask=/dev/zero
;apc.shm_segments = 5

Установка memcache:

pecl -C ./pear.conf install memcache

И подключите его в php.ini:

[...]
extension=memcache.so

(Аналогично можно установить memcached, ioncube и другие модули; следуйте документации соответствующих расширений.)

Интеграция с ISPConfig

В ISPConfig 3.0.5 новая версия PHP добавляется в System > Additional PHP Versions. На вкладке «Name» задайте имя (например «PHP 5.6.36») — это имя будет отображаться при выборе версии PHP для сайтов.

Добавление версии PHP в ISPConfig

Перейдите на вкладку FastCGI Settings и заполните поля конфигурации для FastCGI. Вкладку PHP-FPM можно оставить пустой, если вы используете только FastCGI:

Параметры FastCGI для новой версии PHP в ISPConfig

Отладка и распространённые ошибки

  • Ошибка «Cannot find imap library (libc-client.a)» — создайте символьную ссылку на libc-client.a, как показано выше.
  • Если ./configure ругается на отсутствующие библиотеки — установите соответствующие dev-пакеты через apt и повторите.
  • Если make прерывается — проверьте свободное место и доступную оперативную память; сборка может требовать значительных ресурсов.
  • Если расширения не загружаются после установки через pecl — убедитесь, что путь к php.ini совпадает с тем, который использует установленный бинарный файл php.

Important: PHP 5.6 не поддерживается официально — используйте в изолированных окружениях и планируйте миграцию на поддерживаемые версии.

Альтернативные подходы (когда не собирать из исходников)

  • Установка системных пакетов из репозиториев (apt) — проще и безопаснее за счёт автоматических обновлений.
  • Использование контейнеров Docker с заранее собранным PHP 5.6 — позволяет изолировать окружение и быстро разворачивать копии.
  • Сборка с помощью автоматизированных инструментов (Ansible, Makefile, CI) для повторяемости.

Модель принятия решения — когда собирать из исходников

  • Когда требуется кастомный набор расширений или нестандартные пути установки.
  • Когда дистрибутивные пакеты не содержат нужных опций.
  • Не собирать из исходников для управления большим количеством серверов вручную — лучше использовать пакеты или контейнеры.

Чеклист для системного администратора

  • Проверить свободное место в /usr/local/src и /opt
  • Установить build-essential и dev-пакеты
  • Запустить ./configure и убедиться в отсутствии ошибок
  • Выполнить make и make install
  • Скопировать php.ini и включить opcache
  • Установить нужные расширения через pecl/apt
  • Настроить интеграцию в ISPConfig и протестировать сайт
  • Запланировать мониторинг и план миграции на поддерживаемую версию PHP

Критерии приёмки

  • PHP 5.6.36 запускается из /opt/phpfcgi-5.6.36/bin/php или через FastCGI
  • Zend OPcache активирован и не вызывает ошибок в логах
  • Необходимые расширения установлены и загружаются
  • Сайты в ISPConfig видят новую версию и успешно обрабатывают запросы

Советы по безопасности и эксплуатация

  • Отключите опасные функции в php.ini, если они не нужны (disable_functions)
  • Включите логирование ошибок и настройте ротацию логов
  • Разделяйте окружения: продакшн и тестовые установки
  • Планируйте обновление на поддерживаемую ветку PHP как можно скорее

Заключение

Сборка PHP 5.6.36 из исходников даёт гибкость в выборе опций и расположении установки, но требует больше внимания к зависимостям, безопасности и обновлениям. Для долгосрочных проектов рекомендуется использовать поддерживаемые версии PHP и автоматизировать процесс развёртывания.

Ссылки

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро