Новости
Поздравляем с Днём системного администратора!
Serverspace Black Friday
BK
июля 25, 2025
Обновлено июля 21, 2025

Установка и настройка PHP на Ubuntu

Ubuntu

PHP (Hypertext Preprocessor) — это широко используемый открытый язык программирования, специально разработанный для веб-разработки. Созданный в 1993 году Расмусом Лердорфом, PHP изначально расшифровывался как "Personal Home Page", но теперь это рекурсивная аббревиатура "PHP: Hypertext Preprocessor". PHP позволяет встраивать серверный код в HTML, что упрощает создание динамических веб-страниц, взаимодействующих с пользователями и базами данных. По данным W3Techs на июль 2025 года, PHP используется примерно на 77% всех веб-сайтов, чей серверный язык программирования известен. Текущая стабильная версия PHP — 8.4.10, выпущенная 3 июля 2025 года.

PHP популярен благодаря своей простоте для новичков и мощным возможностям для профессиональных разработчиков. Он лежит в основе таких популярных систем управления контентом (CMS), как WordPress, Drupal и Joomla, а также используется на крупных платформах, таких как Wikipedia и Etsy.

Зачем использовать PHP с веб-сервером?

PHP играет ключевую роль в веб-разработке благодаря следующим возможностям:

  • Генерация динамического контента: PHP позволяет создавать веб-страницы, содержимое которых меняется в зависимости от ввода пользователя, времени, данных из базы или других факторов. Например, PHP может генерировать персонализированные страницы, такие как профили пользователей или результаты поиска.
  • Интеграция с базами данных: PHP поддерживает работу с различными базами данных, включая MySQL, PostgreSQL, SQLite и другие. Это делает его идеальным для приложений, требующих хранения и обработки данных, таких как интернет-магазины или блоги.

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

Предварительные требования

Перед установкой PHP убедитесь, что выполнены следующие условия:

  • Установленный веб-сервер Apache: PHP будет интегрирован с Apache, как описано в статье "Установка Веб-Сервера". Для проверки установки Apache выполните команду:
    apache2 -v

    Если Apache не установлен, следуйте инструкциям из упомянутой статьи.

  • Операционная система Ubuntu: В этой статье предполагается использование Ubuntu, например версии 24.04 (LTS). Инструкции могут быть адаптированы для других версий Ubuntu или дистрибутивов Linux.
  • Права администратора: Для установки пакетов и изменения конфигурационных файлов требуются права root или sudo.
  • Доступ к терминалу: Убедитесь, что у вас есть доступ к терминалу, локально или через SSH для удаленного сервера.

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

Установка PHP на Ubuntu

Установка PHP на Ubuntu выполняется с помощью пакетного менеджера apt. Следуйте этим шагам:

1. Обновите список пакетов
Чтобы убедиться, что вы устанавливаете последние версии программного обеспечения, обновите индекс пакетов:

sudo apt update

2. Установите PHP и модуль для Apache
Установите PHP и модуль для интеграции с Apache:

sudo apt install php libapache2-mod-php

Эта команда установит последнюю версию PHP, доступную в репозиториях Ubuntu (обычно PHP 8.3 для Ubuntu 24.04), и модуль libapache2-mod-php, который позволяет Apache обрабатывать PHP-скрипты.

3. Проверьте установленную версию PHP
После установки проверьте версию PHP, чтобы убедиться, что установка прошла успешно:

php -v

Вывод должен показать версию, например:

PHP 8.3.0 (cli) (built: Dec 10 2023 12:34:56) ( NTS )

4. Установите дополнительные расширения
Для поддержки типичных задач веб-разработки установите следующие расширения:

sudo apt install php-mysql php-gd php-curl
  • php-mysql: Позволяет PHP взаимодействовать с базами данных MySQL, что необходимо для таких приложений, как WordPress.
  • php-gd: Предоставляет функции для обработки изображений, например, для создания миниатюр или водяных знаков.
  • php-curl: Используется для выполнения HTTP-запросов, например, для интеграции с API.

Если вы используете другую версию PHP, названия пакетов могут включать версию, например, php8.3-mysql. Однако для стандартной установки указанные имена пакетов подойдут, так как они соответствуют версии PHP по умолчанию.

Настройка PHP

После установки PHP необходимо настроить его параметры для соответствия требованиям ваших приложений. Основной файл конфигурации PHP для Apache находится по пути /etc/php/<версия>/apache2/php.ini, где <версия> — это установленная версия PHP, например, 8.3.

1. Найдите файл конфигурации
Для PHP 8.3 файл находится по адресу:

/etc/php/8.3/apache2/php.ini

Чтобы подтвердить путь, выполните:

php --ini

Это покажет расположение php.ini для Apache и CLI (командной строки).

2. Откройте файл для редактирования
Используйте текстовый редактор, например nano, для редактирования файла:

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

3. Измените ключевые параметры
Найдите и измените следующие параметры в зависимости от ваших потребностей:

  • memory_limit: Определяет максимальный объем памяти, который может использовать PHP-скрипт. По умолчанию часто установлено 128M. Для более требовательных приложений увеличьте до:
    memory_limit = 256M
  • upload_max_filesize: Устанавливает максимальный размер загружаемого файла. По умолчанию 2M. Для загрузки больших файлов увеличьте до:
    upload_max_filesize = 10M
  • post_max_size: Определяет максимальный размер данных, отправляемых методом POST. Должен быть больше или равен upload_max_filesize. Например:
    post_max_size = 12M

4. Сохраните изменения и перезапустите Apache
После внесения изменений сохраните файл (в nano нажмите Ctrl+O, затем Enter, и Ctrl+X для выхода) и перезапустите Apache, чтобы применить настройки:

sudo systemctl restart apache2

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

Модуль libapache2-mod-php автоматически интегрирует PHP с Apache при установке. Однако вы можете проверить, активирован ли модуль, и при необходимости включить его вручную.

1. Проверка активации модуля PHP
Выполните:

sudo a2enmod php8.3

Замените 8.3 на вашу версию PHP, если она отличается. Если модуль уже включен, вы увидите сообщение, что он активирован.

2. Перезапуск Apache
Чтобы изменения вступили в силу, перезапустите Apache:

sudo systemctl restart apache2

3. Проверка статуса Apache
Убедитесь, что Apache работает корректно:

sudo systemctl status apache2

Вывод должен показать состояние active (running).

Тестирование установки PHP

Чтобы убедиться, что PHP правильно установлен и интегрирован с Apache, создайте тестовую страницу:

1. Создайте файл info.php
Создайте файл в директории веб-сервера /var/www/html/:

echo "" | sudo tee /var/www/html/info.php

Команда phpinfo() выводит подробную информацию о конфигурации PHP, включая версию, модули и настройки.

2. Проверьте страницу в браузере
Откройте браузер и перейдите по адресу http://localhost/info.php или http://<IP-адрес_сервера>/info.php. Вы должны увидеть страницу с информацией о PHP, включая версию, установленные модули и параметры конфигурации.

3. Безопасность
После тестирования рекомендуется удалить файл info.php, так как он может раскрывать конфиденциальную информацию о сервере:

sudo rm /var/www/html/info.php

Если вы хотите сохранить файл, ограничьте к нему доступ, изменив права:

sudo chmod 600 /var/www/html/info.php

Полезные советы по настройке

Для оптимизации работы PHP настройте дополнительные параметры в файле php.ini:

  • Настройка отчетов об ошибках
    Для разработки полезно включить отображение всех ошибок, чтобы упростить отладку. Найдите в php.ini:
    error_reporting = E_ALL
    display_errors = On

    В производственной среде (на боевом сервере) отключите отображение ошибок для безопасности:

    display_errors = Off

    Вместо этого ошибки будут записываться в лог-файл, который можно найти, например, в /var/log/php_errors.log (если настроено).

  • Установка часового пояса
    Установите параметр date.timezone для корректной работы функций, связанных с датой и временем. Например:
    date.timezone = Europe/Moscow

    Список поддерживаемых часовых поясов доступен в документации PHP.

  • Дополнительные параметры
    Рассмотрите настройку следующих параметров:
    • max_execution_time: Максимальное время выполнения скрипта в секундах. По умолчанию 30 секунд. Для длительных операций можно увеличить:
      max_execution_time = 60
    • session.gc_maxlifetime: Время жизни сессии в секундах. По умолчанию 1440 (24 минуты). Для более длительных сессий:
      session.gc_maxlifetime = 3600

Устранение распространенных проблем

Если PHP не работает как ожидалось, выполните следующие шаги:

1. Проверка статуса Apache
Убедитесь, что Apache работает:

sudo systemctl status apache2

Если служба не активна, перезапустите ее:

sudo systemctl restart apache2

2. Просмотр логов ошибок
Логи ошибок PHP обычно записываются в файл, указанный в php.ini (параметр error_log). Также проверьте логи Apache:

sudo cat /var/log/apache2/error.log

3. Типичные проблемы

  • Страница info.php не отображается: Убедитесь, что модуль PHP активирован (sudo a2enmod php8.3) и Apache перезапущен.
  • Ошибки зависимостей: Если установка завершилась с ошибкой, попробуйте исправить зависимости:
    sudo apt-get install -f
  • Проблемы с правами доступа: Убедитесь, что файлы в /var/www/html/ доступны для Apache:
    sudo chown -R www-data:www-data /var/www/html
    sudo chmod -R 755 /var/www/html

Установка и настройка PHP на Ubuntu — это простой процесс, который позволяет подготовить сервер для работы с динамическими веб-приложениями. Следуя приведенным шагам, вы можете установить PHP, интегрировать его с Apache, настроить ключевые параметры и протестировать установку. PHP остается важным инструментом для веб-разработки благодаря своей популярности, поддержке сообщества и совместимости с популярными CMS, такими как WordPress.

Таблица: Основные параметры php.ini

Параметр Описание Рекомендуемое значение (для разработки) Рекомендуемое значение (для продакшена)
memory_limit Максимальный объем памяти для скрипта 256M 128M
upload_max_filesize Максимальный размер загружаемого файла 10M 2M
post_max_size Максимальный размер данных POST 12M 8M
error_reporting Уровень отчетов об ошибках E_ALL E_ALL & ~E_NOTICE
display_errors Отображение ошибок в браузере On Off
date.timezone Часовой пояс для функций даты и времени Europe/Moscow Europe/Moscow
max_execution_time Максимальное время выполнения скрипта (секунды) 60 30
session.gc_maxlifetime Время жизни сессии (секунды) 3600 1440
Оценка:
5 из 5
Аverage rating : 5
Оценок: 1
050000 г. Алматы пр. Сейфуллина, д. 502
+7 (771) 944-45-66
ООО «ИТГЛОБАЛКОМ ЛАБС»

Вам также может быть интересно...