Как установить php 4 ubuntu

Как установить php 4 ubuntu

PHP 4 официально устарел с 2007 года и не поддерживается в актуальных репозиториях Ubuntu. Тем не менее, необходимость его использования всё ещё может возникать – например, при поддержке легаси-проектов, которые невозможно быстро переписать под современные версии интерпретатора. Установка PHP 4 на современных системах требует компиляции из исходников, настройки окружения и устранения зависимости от устаревших библиотек.

Платформа Ubuntu по умолчанию не содержит пакетов для PHP 4, поэтому процесс начинается с подготовки сборочного окружения. Убедитесь, что установлены утилиты build-essential, libxml2-dev, libbz2-dev, libjpeg-dev, libpng-dev и другие необходимые зависимости. Без них компиляция завершится с ошибками уже на начальных этапах.

Исходный код PHP 4 доступен на архивах museum.php.net. Выбирайте последнюю стабильную версию – обычно это 4.4.9. Распаковывать архив следует в изолированной директории, так как пути установки и настройки конфигурации будут задаваться вручную. Рекомендуется использовать —prefix при конфигурации для изоляции PHP 4 от системной версии.

Дополнительно потребуется вручную настроить файл php.ini и окружение PATH, чтобы команды php и phpize указывали на правильную версию. Запускать такой стек в продакшене не рекомендуется. Безопаснее использовать контейнеризацию – например, через Docker с базовым образом на старой версии Ubuntu (до 10.04) или Debian Lenny.

Этот материал предназначен для разработчиков, которым необходимо воспроизвести устаревшую среду, не нарушая стабильности основной системы. Все шаги будут приведены с учётом актуальных ограничений современной инфраструктуры Ubuntu.

Подготовка системы и установка зависимостей

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

Перед началом убедитесь, что система обновлена:

sudo apt update && sudo apt upgrade -y

Установите инструменты сборки и базовые утилиты:

  • build-essential – необходим для компиляции исходников
  • libxml2-dev – для поддержки XML
  • libpng-dev – для работы с изображениями
  • libjpeg-dev – для поддержки JPEG
  • libmcrypt-dev – для шифрования (используется в старых версиях PHP)
  • libcurl4-openssl-dev – для поддержки cURL
  • libmysqlclient-dev – для интеграции с MySQL
  • autoconf – генерация скриптов configure
  • libreadline-dev – поддержка readline в интерактивном режиме
sudo apt install -y build-essential libxml2-dev libpng-dev libjpeg-dev \
libmcrypt-dev libcurl4-openssl-dev libmysqlclient-dev autoconf libreadline-dev

Создайте рабочую директорию для исходников:

mkdir -p ~/php4-src && cd ~/php4-src

Убедитесь, что в системе установлены утилиты для загрузки файлов:

sudo apt install -y wget

Теперь можно переходить к загрузке исходников PHP 4 и их компиляции.

Загрузка исходных кодов PHP 4 с архива

Загрузка исходных кодов PHP 4 с архива

Официальный сайт PHP больше не поддерживает PHP 4, поэтому исходные коды необходимо загружать из архивного зеркала: https://museum.php.net/php4/. Рекомендуемая версия – PHP 4.4.9, последняя стабильная в линейке.

Откройте терминал и перейдите в каталог для загрузки исходников:

cd /usr/local/src

Загрузите архив с помощью wget:

wget https://museum.php.net/php4/php-4.4.9.tar.gz

Проверьте целостность архива, сравнив контрольную сумму:

md5sum php-4.4.9.tar.gz

Ожидаемая сумма: c1f2e1c3f7d493bca0193f7b0d3c0a5e. Несовпадение указывает на повреждённый файл – повторите загрузку.

Распакуйте архив командой:

tar -xzvf php-4.4.9.tar.gz

После распаковки появится директория php-4.4.9, содержащая исходные коды для последующей сборки.

Распаковка архива и переход в каталог исходников

Распаковка архива и переход в каталог исходников

Скачанный архив с исходным кодом PHP 4 обычно имеет формат .tar.gz или .tar.bz2. Для распаковки переместите файл в удобное место, например, в домашнюю директорию:

mv php-4.4.9.tar.gz ~/

Перейдите в домашнюю директорию и распакуйте архив командой:

tar -xzf php-4.4.9.tar.gz

Если используется архив с расширением .bz2, выполните:

tar -xjf php-4.4.9.tar.bz2

После распаковки будет создан каталог с исходниками, чаще всего с именем php-4.4.9. Для перехода в него выполните:

cd php-4.4.9

Убедитесь, что в каталоге находятся файлы configure, Makefile.in, а также подкаталоги ext и main. Их наличие подтверждает корректную распаковку исходников.

Настройка параметров сборки с помощью configure

Перед запуском make необходимо задать конфигурацию сборки через скрипт configure. Для PHP 4 он определяет, какие модули будут включены, где искать зависимости и как компилировать исходный код. Запуск выполняется из корня исходников командой ./configure с нужными параметрами.

Для базовой сборки с поддержкой Apache 1.3 и MySQL используйте:

./configure --with-apxs=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql

Если необходимо подключить поддержку GD для работы с изображениями, добавьте:

--with-gd --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib

Для использования внешних библиотек важно точно указывать пути, если они не находятся в стандартных директориях. Например, для библиотеки libxml:

--with-xml --with-libxml-dir=/usr/local/libxml

Если требуется компиляция с поддержкой multibyte-строк (mbstring), добавьте:

--enable-mbstring

Параметр --prefix указывает путь установки. Например, чтобы установить PHP в /opt/php4:

--prefix=/opt/php4

После подбора всех опций рекомендуется выполнить make clean перед повторным запуском configure, чтобы исключить ошибки, связанные с кэшированием предыдущих конфигураций.

Компиляция и установка PHP 4 из исходников

Компиляция и установка PHP 4 из исходников

Для сборки PHP 4 потребуется установить зависимости и подготовить систему. Выполните следующие действия:

  1. Установите необходимые пакеты:
    • sudo apt update
    • sudo apt install build-essential libxml2-dev libssl-dev libjpeg-dev libpng-dev libcurl4-openssl-dev libmysqlclient-dev bison re2c
  2. Скачайте исходники PHP 4, например версии 4.4.9:
    • wget https://museum.php.net/php4/php-4.4.9.tar.gz
    • tar -xzf php-4.4.9.tar.gz
    • cd php-4.4.9
  3. Сконфигурируйте сборку:
    • ./configure --prefix=/usr/local/php4 \
      --with-config-file-path=/usr/local/php4/etc \
      --with-mysql \
      --with-openssl \
      --with-zlib \
      --with-curl \
      --with-jpeg-dir=/usr \
      --with-png-dir=/usr \
      --enable-track-vars \
      --enable-force-cgi-redirect \
      --enable-bcmath \
      --enable-mbstring
  4. Запустите компиляцию:
    • make
  5. Установите:
    • sudo make install

Скопируйте файл конфигурации:

  • cp php.ini-dist /usr/local/php4/etc/php.ini

Проверьте работоспособность:

  • /usr/local/php4/bin/php -v

Настройка php.ini и базовых параметров

Настройка php.ini и базовых параметров

Файл конфигурации php.ini управляет многими параметрами работы PHP. В Ubuntu он обычно находится в каталоге /etc/php/4.4/apache2 или /etc/php/4.4/cli, в зависимости от того, используете ли вы Apache или командную строку.

Откройте php.ini для редактирования с помощью текстового редактора, например, nano:

sudo nano /etc/php/4.4/apache2/php.ini

Основные параметры, которые стоит настроить:

memory_limit – ограничение памяти для выполнения сценариев. Установите его на значение, соответствующее нагрузке на сервер. Например:

memory_limit = 128M

max_execution_time – максимальное время выполнения скрипта. Увеличьте это значение, если работа с большими данными требует больше времени.

max_execution_time = 30

error_reporting – настройка отображения ошибок. На сервере можно установить значение E_ALL для отображения всех ошибок, но на продакшн-сервере лучше использовать E_ALL & ~E_DEPRECATED & ~E_STRICT.

error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
display_errors = Off

log_errors – включает запись ошибок в лог-файл. Это полезно для мониторинга ошибок без их отображения на странице.

log_errors = On

file_uploads – включение или отключение загрузки файлов. Если на сервере предполагается работа с файлами, эта опция должна быть включена.

file_uploads = On

upload_max_filesize – максимальный размер загружаемого файла. Установите значение в зависимости от потребностей вашего проекта.

upload_max_filesize = 10M

post_max_size – максимальный размер данных, передаваемых методом POST. Это значение должно быть больше, чем upload_max_filesize.

post_max_size = 20M

date.timezone – настройка временной зоны. Укажите вашу временную зону для корректной работы с датами и временем. Пример для Москвы:

date.timezone = Europe/Moscow

После внесения изменений перезапустите Apache для применения настроек:

sudo service apache2 restart

Интеграция PHP 4 с Apache 2

Для интеграции PHP 4 с Apache 2 необходимо выполнить несколько шагов, обеспечивающих правильную работу PHP через веб-сервер. PHP 4 поддерживает работу с Apache 2 через модуль mod_php, однако, стоит учитывать, что версия PHP 4 больше не поддерживается и может иметь уязвимости, поэтому установка такого окружения рекомендуется только для тестовых целей или в случае необходимости работы с устаревшими проектами.

Первоначально необходимо установить необходимые пакеты. Для этого откройте терминал и выполните команду:

sudo apt-get install apache2 php4

Этот набор установит как Apache 2, так и PHP 4, но для полноценной интеграции потребуется выполнить дополнительные шаги.

После установки убедитесь, что модуль PHP 4 подключен к Apache. Для этого проверьте наличие файла конфигурации PHP для Apache:

sudo a2enmod php4

Если команда не вернула ошибок, это означает, что модуль был успешно подключен. Перезапустите Apache для применения изменений:

sudo systemctl restart apache2

Далее, необходимо настроить конфигурацию Apache для работы с PHP. Откройте файл конфигурации Apache:

sudo nano /etc/apache2/apache2.conf

Убедитесь, что в файле присутствуют следующие строки, позволяющие Apache обрабатывать PHP-скрипты:

AddType application/x-httpd-php .php
AddType application/x-httpd-php .phtml

После внесения изменений сохраните файл и перезапустите Apache снова:

sudo systemctl restart apache2

Для проверки работы PHP 4 создайте файл info.php в директории вашего веб-сайта (например, /var/www/html) со следующим содержанием:


Перейдите в браузере по адресу http://localhost/info.php. Если все настроено правильно, вы увидите страницу с информацией о версии PHP и настройках окружения.

Важно: учитывая, что PHP 4 уже не поддерживается, рекомендуется в случае реальной работы на сервере использовать более актуальные версии PHP, такие как PHP 7.x или PHP 8.x, которые обеспечивают лучшую производительность и безопасность.

Проверка работоспособности и отладка ошибок

После установки PHP 4 на Ubuntu важно убедиться, что сервер правильно настроен и работает. Для этого выполните несколько шагов.

1. Проверьте версию PHP с помощью команды:

php -v

Если PHP установлен корректно, вы увидите информацию о версии, включая «PHP 4.x.x». В случае ошибки версия не отобразится, и потребуется повторно проверить настройки.

2. Для проверки конфигурации сервера создайте файл с расширением .php (например, info.php) в корневой директории вашего веб-сервера (обычно это /var/www/html) с таким содержимым:

<?php phpinfo(); ?>

Перейдите по адресу http://localhost/info.php в браузере. Это отобразит подробную информацию о текущей конфигурации PHP. Если страница не отображается, проверьте настройки веб-сервера Apache и файл конфигурации PHP.

3. Если веб-страница не работает, проверьте журналы ошибок Apache. Файл журнала обычно находится по пути:

/var/log/apache2/error.log

Здесь будут отображены конкретные ошибки, связанные с запуском PHP или настройками веб-сервера. Особое внимание стоит уделить строкам, содержащим «PHP», так как это поможет быстро идентифицировать проблему.

4. Для отладки ошибок PHP используйте настройку отображения ошибок в файле php.ini. Найдите директиву error_reporting и установите ее значение:

error_reporting = E_ALL

Также включите отображение ошибок:

display_errors = On

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

5. В случае специфических ошибок, связанных с расширениями PHP, убедитесь, что все необходимые модули установлены и активированы. Например, для работы с MySQL в PHP 4 необходим модуль php4-mysql. Установите его с помощью команды:

sudo apt-get install php4-mysql

Затем перезапустите Apache:

sudo service apache2 restart

6. Если ошибки продолжают возникать, проверьте версию Ubuntu. PHP 4 может не поддерживаться в более новых версиях Ubuntu, и вам потребуется использовать старую версию операционной системы или искать альтернативные решения.

Вопрос-ответ:

Как установить PHP 4 на Ubuntu?

Для установки PHP 4 на Ubuntu потребуется выполнить несколько шагов. Сначала нужно обновить список пакетов с помощью команды `sudo apt update`. Затем установите PHP 4 с помощью команды `sudo apt install php4`. Этот процесс загрузит все необходимые зависимости и установит PHP 4 на вашу систему. После установки можно проверить версию PHP с помощью команды `php -v`, чтобы убедиться, что установка прошла успешно.

Почему я должен использовать именно PHP 4 для моего проекта?

Использование PHP 4 может быть необходимо в случае, если проект был разработан для этой версии и требует совместимости с устаревшими библиотеками или кодом. В современных условиях PHP 4 не поддерживается и не рекомендуется для новых проектов из-за множества уязвимостей и ограничений. Однако если ваш проект зависит от старой версии PHP, то может потребоваться установка именно этой версии для его корректной работы.

Есть ли какие-то проблемы с безопасностью при использовании PHP 4 на Ubuntu?

Да, использование PHP 4 на Ubuntu может представлять собой риск безопасности. Эта версия больше не поддерживается, и все уязвимости, обнаруженные после завершения поддержки, не будут исправляться. Это означает, что старые версии PHP могут подвергать систему атакам, если на ней работают веб-приложения, использующие уязвимости из этой версии. Если безопасность является приоритетом, рекомендуется использовать более новые версии PHP, такие как PHP 7 или 8.

Как можно использовать PHP 4 на сервере с Ubuntu, если она уже установлена более новая версия PHP?

Если на сервере уже установлена новая версия PHP, например, PHP 7 или 8, но вам нужно использовать PHP 4, можно настроить несколько версий PHP на одной системе. Для этого можно использовать такие инструменты, как `update-alternatives`, чтобы переключаться между версиями PHP. Например, можно установить PHP 4 параллельно с более новой версией, а затем выбрать активную версию для выполнения веб-приложений. Это можно сделать с помощью команд `sudo update-alternatives —config php` и установки соответствующей версии. Также можно настроить сервер Apache или Nginx для использования нужной версии PHP для определенных сайтов.

Ссылка на основную публикацию