Перед установкой PHP необходимо убедиться, что у вас есть доступ к серверу с правами администратора. Поддерживаются следующие операционные системы: Linux (наиболее часто используется дистрибутивы Ubuntu, Debian, CentOS), macOS и Windows Server. В рамках этого руководства будут рассмотрены команды и шаги для систем на базе Debian/Ubuntu, так как они чаще всего используются на веб-серверах.
Проверьте, обновлена ли система. Введите sudo apt update && sudo apt upgrade, чтобы установить последние версии пакетов. Затем установите утилиту software-properties-common, которая позволяет работать с внешними репозиториями: sudo apt install software-properties-common.
Для установки актуальной версии PHP добавьте официальный репозиторий от разработчиков PHP: sudo add-apt-repository ppa:ondrej/php, после чего выполните sudo apt update. Чтобы установить конкретную версию, например PHP 8.2, используйте команду sudo apt install php8.2. Вместе с интерпретатором можно установить необходимые модули: sudo apt install php8.2-cli php8.2-fpm php8.2-mysql php8.2-curl php8.2-xml.
Проверьте установку с помощью команды php -v. Она должна вернуть версию установленного интерпретатора и информацию о сборке. Для управления версиями PHP при наличии нескольких установленных, используйте update-alternatives.
Если используется веб-сервер Apache, активируйте связку с PHP через модуль: sudo a2enmod php8.2 и перезапустите Apache: sudo systemctl restart apache2. Для Nginx потребуется настроить обработку .php файлов через PHP-FPM. Проверьте, что служба запущена: sudo systemctl status php8.2-fpm, и внесите изменения в конфигурацию виртуального хоста.
Как установить PHP на сервер: пошаговое руководство
Шаг 1: Обновите индекс пакетов системы. Для Debian/Ubuntu выполните sudo apt update. Для CentOS/RHEL используйте sudo yum makecache.
Шаг 2: Установите PHP. В Debian/Ubuntu выполните sudo apt install php. Для CentOS/RHEL используйте sudo yum install php или sudo dnf install php на новых версиях.
Шаг 4: При необходимости установите модули: sudo apt install php-mysql php-curl php-mbstring для Debian/Ubuntu или sudo yum install php-mysqlnd php-curl php-mbstring для CentOS.
Шаг 5: Перезапустите веб-сервер. Для Apache: sudo systemctl restart apache2 (Ubuntu) или sudo systemctl restart httpd (CentOS). Для Nginx с PHP-FPM: sudo systemctl restart php-fpm и sudo systemctl restart nginx.
Шаг 6: Создайте файл info.php в корне веб-сервера со строкой <?php phpinfo(); ?>. Откройте его в браузере для проверки работы PHP.
Проверка установленных компонентов на сервере
Перед установкой PHP необходимо убедиться, что на сервере уже присутствуют необходимые компоненты. Это поможет избежать конфликтов и упростит настройку.
- Проверьте установленную версию операционной системы:
- Для Debian/Ubuntu:
lsb_release -a
илиcat /etc/os-release
- Для CentOS/AlmaLinux/RHEL:
cat /etc/redhat-release
- Убедитесь в наличии пакетного менеджера:
- Debian/Ubuntu:
apt --version
- CentOS/RHEL:
yum --version
илиdnf --version
- Проверьте наличие установленных версий PHP (если ранее был установлен):
php -v
– отображает версию PHP, если установленwhich php
– путь к бинарному файлу- Проверьте наличие установленных веб-серверов:
apache2 -v
илиhttpd -v
– для Apachenginx -v
– для Nginx- Убедитесь, что нет активных процессов, мешающих установке:
sudo netstat -tulnp
– отображает порты и привязанные процессыps aux | grep php
– покажет активные процессы PHP
Если обнаружены старые версии PHP или ненужные модули, их следует удалить перед установкой новой версии, чтобы избежать несовместимостей.
Выбор подходящей версии PHP для установки
Перед установкой PHP необходимо определить, какие версии поддерживаются вашим программным обеспечением. Современные CMS и фреймворки, такие как WordPress, Laravel и Symfony, предъявляют разные требования: например, WordPress 6.5 работает с PHP от 7.4 до 8.2, а Laravel 11 требует минимум PHP 8.2.
Если проект новый, имеет смысл установить последнюю стабильную версию PHP, доступную в репозиториях вашей ОС. На апрель 2025 года это PHP 8.3. Она обеспечивает лучшую производительность, меньшее потребление памяти и поддержку новых синтаксических конструкций.
При использовании стороннего кода, плагинов или библиотек важно проверить их совместимость. Многие устаревшие модули не работают с PHP 8.2 и выше. В таких случаях может потребоваться установка нескольких версий PHP параллельно с помощью инструментов вроде `update-alternatives` на Debian/Ubuntu или `remi` на CentOS/RHEL.
Не стоит устанавливать версии, которые больше не получают обновлений безопасности. PHP 7.4 перестал поддерживаться официально с 28 ноября 2022 года. Использование устаревшей версии повышает риск взлома.
Для серверов с минимальной нагрузкой и ограниченными ресурсами PHP 8.1 может оказаться более стабильным и проверенным решением, особенно при наличии полной поддержки со стороны используемого ПО.
Установка PHP через пакетный менеджер
Debian и Ubuntu: Перед установкой обновите список пакетов:
sudo apt update
Затем установите PHP:
sudo apt install php
Для установки конкретной версии, например PHP 8.2:
sudo apt install php8.2
Дополнительные модули ставятся отдельно, например:
sudo apt install php8.2-mbstring php8.2-mysql
CentOS, AlmaLinux, Rocky Linux: Установите EPEL и Remi репозитории:
sudo dnf install epel-release
sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm
Активируйте нужный поток (stream) PHP:
sudo dnf module enable php:remi-8.2
Затем установите:
sudo dnf install php php-mbstring php-mysqlnd
Arch Linux: Обновите систему:
sudo pacman -Syu
Установите PHP:
sudo pacman -S php
Для подключения к базе MySQL используйте:
sudo pacman -S php-apache php-mysqli
macOS (через Homebrew): Убедитесь, что Homebrew установлен. Обновите формулы:
brew update
Установите PHP нужной версии:
brew install php@8.2
Добавьте путь в переменную окружения, если требуется:
echo ‘export PATH=»/opt/homebrew/opt/php@8.2/bin:$PATH»‘ >> ~/.zprofile
Примените изменения:
source ~/.zprofile
Настройка конфигурационного файла php.ini
Файл php.ini
расположен по пути, зависящему от способа установки PHP. Для Apache это обычно /etc/php/[версия]/apache2/php.ini
, для CLI – /etc/php/[версия]/cli/php.ini
. Для Nginx с PHP-FPM – /etc/php/[версия]/fpm/php.ini
.
Перед редактированием рекомендуется создать резервную копию:
cp /etc/php/8.2/fpm/php.ini /etc/php/8.2/fpm/php.ini.bak
Основные параметры для настройки:
memory_limit |
Максимальный объём памяти для одного скрипта. Увеличьте при работе с большими массивами. Пример: memory_limit = 256M . |
upload_max_filesize |
Максимальный размер загружаемого файла. Пример: upload_max_filesize = 50M . |
post_max_size |
Максимальный размер данных, передаваемых методом POST. Должен быть больше, чем upload_max_filesize . Пример: post_max_size = 64M . |
max_execution_time |
Максимальное время выполнения скрипта в секундах. Пример: max_execution_time = 30 . |
display_errors |
|
error_reporting |
Уровень сообщений об ошибках. Для разработки: error_reporting = E_ALL . |
date.timezone |
Установка временной зоны. Обязательный параметр. Пример: date.timezone = Europe/Moscow . |
После внесения изменений в файл php.ini
требуется перезапустить соответствующий сервер. Для Apache:
systemctl restart apache2
Для PHP-FPM под Nginx:
systemctl restart php8.2-fpm
Интеграция PHP с веб-сервером Apache или Nginx
Для правильной работы PHP с веб-сервером Apache или Nginx необходимо настроить соответствующие модули и конфигурации. Оба сервера поддерживают PHP, но настройки немного отличаются.
Apache использует модуль mod_php
, который интегрируется напрямую в сервер, позволяя выполнять PHP-скрипты при обращении к веб-странице. Чтобы установить PHP с Apache, выполните следующие шаги:
1. Установите Apache: sudo apt install apache2
.
2. Установите PHP и необходимые модули: sudo apt install php libapache2-mod-php
.
3. Перезапустите Apache: sudo systemctl restart apache2
.
После этого сервер Apache будет обрабатывать PHP-скрипты, как обычные HTML-файлы, через модуль mod_php
.
Для Nginx требуется внешний обработчик PHP, так как он не поддерживает выполнение PHP напрямую. В этом случае используется PHP-FPM
(FastCGI Process Manager). Чтобы интегрировать PHP с Nginx, выполните следующие шаги:
1. Установите Nginx: sudo apt install nginx
.
2. Установите PHP и PHP-FPM: sudo apt install php php-fpm
.
3. Настройте конфигурацию Nginx для работы с PHP. В конфигурационном файле сайта (/etc/nginx/sites-available/default
) добавьте следующие строки:
location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
4. Перезапустите Nginx: sudo systemctl restart nginx
.
Теперь Nginx будет передавать запросы на обработку PHP в PHP-FPM.
Основное различие между Apache и Nginx в том, что Apache напрямую работает с PHP через модуль, а Nginx использует PHP-FPM как отдельный процесс, что может быть более эффективным при высоких нагрузках.
Проверка работоспособности PHP через тестовый скрипт
После установки PHP на сервере необходимо проверить, корректно ли работает движок. Это можно сделать с помощью простого тестового скрипта. Для этого создайте файл с расширением .php в корневой директории веб-сервера. Например, назовите его info.php
.
Внутри файла разместите следующий код:
Загрузите файл на сервер в нужную папку (например, в /var/www/html
для Apache на Linux). После этого откройте браузер и введите адрес: http://ваш_домен/info.php
.
Если PHP работает правильно, вы увидите страницу с подробной информацией о конфигурации PHP. Если страница не отображается или возникает ошибка, возможно, PHP не установлен или настроен неправильно. В этом случае проверьте настройки веб-сервера и конфигурационные файлы PHP.
По завершении теста удалите файл info.php
с сервера, чтобы не оставить его доступным для посторонних, так как он может содержать конфиденциальную информацию о сервере.
Установка дополнительных PHP-модулей
После базовой установки PHP на сервер часто требуется добавить дополнительные модули для расширения функционала. Некоторые из них необходимы для работы с базами данных, обработкой изображений, шифрованием и другими сервисами.
Для установки дополнительных модулей используйте пакетный менеджер, соответствующий вашей системе.
На Ubuntu/Debian
Для установки модуля выполните команду:
sudo apt install php-<модуль>
Пример для модуля для работы с MySQL:
sudo apt install php-mysqli
- php-mysqli – поддержка MySQL
- php-xml – для работы с XML
- php-gd – для обработки изображений
- php-curl – для работы с HTTP-запросами
- php-json – для работы с JSON
На CentOS/Fedora
Для установки модуля используйте команду:
sudo dnf install php-<модуль>
Пример для модуля GD:
sudo dnf install php-gd
Проверка установленного модуля
После установки модуля проверьте его с помощью команды:
php -m | grep <модуль>
Перезапуск веб-сервера
После установки или обновления модулей перезапустите веб-сервер для применения изменений:
sudo systemctl restart apache2
или для Nginx:
sudo systemctl restart php-fpm
Ошибки при установке
- Ошибка «Module not found» означает, что нужный модуль не доступен в репозиториях. Проверьте правильность написания или добавьте нужные репозитории.
- При конфликте версий PHP может понадобиться установить соответствующую версию модуля, например, php7.4-mysqli вместо php-mysqli.
Обновление и обслуживание установленной версии PHP
Для обеспечения безопасности и стабильной работы сайта важно регулярно обновлять PHP до последних версий. Каждое обновление включает исправления уязвимостей и улучшения производительности. Чтобы обновить PHP на сервере, выполните следующие шаги:
1. Проверьте текущую версию PHP с помощью команды php -v
в терминале. Это поможет понять, нужно ли обновление.
2. Обновление PHP на сервере с Ubuntu или Debian можно выполнить через пакетный менеджер. Для этого выполните следующие команды:
sudo apt update sudo apt upgrade php
3. Если требуется установить конкретную версию PHP, например, 8.0, используйте следующую команду:
sudo apt install php8.0
4. После установки новой версии PHP не забудьте проверить настройки веб-сервера. Например, для Apache необходимо перезапустить его с помощью команды:
sudo systemctl restart apache2
5. Для обеспечения правильной работы всех расширений PHP после обновления используйте команду sudo apt install php8.0-<имя_расширения>
, чтобы установить необходимые модули для новой версии.
6. Важно следить за совместимостью версий PHP с установленными веб-приложениями. Перед обновлением рекомендуется проверять требования к версии PHP для вашего сайта или приложения.
7. Для автоматического обновления PHP в будущем настройте пакетный менеджер на регулярную проверку и установку обновлений с помощью cron или аналогичных инструментов.
Обслуживание PHP включает в себя не только обновления, но и регулярную проверку производительности, настройку параметров конфигурации и очистку устаревших или неиспользуемых расширений. Внимание к этим аспектам поможет поддерживать сервер в оптимальном состоянии.