Установка PHP на Linux – это достаточно простая задача, которая может быть выполнена за несколько шагов. В этом руководстве мы рассмотрим, как установить PHP на наиболее популярных дистрибутивах Linux, таких как Ubuntu, Debian и CentOS. Мы будем использовать стандартные пакеты из репозиториев, что позволяет легко обновлять PHP в будущем через менеджер пакетов.
Для начала убедитесь, что ваш пакетный менеджер обновлен. Например, для Ubuntu или Debian используйте команду sudo apt update. Это обеспечит доступ к последним версиям пакетов и обновлениям безопасности. После этого можно будет переходить непосредственно к установке PHP.
На Ubuntu или Debian установка PHP осуществляется с помощью команды sudo apt install php, однако для того, чтобы настроить PHP правильно, потребуется установить дополнительные модули, такие как php-cli, php-fpm или php-mysql, в зависимости от ваших нужд. Мы подробно рассмотрим, как выбрать и установить эти модули на каждом шаге.
Для пользователей CentOS процесс установки немного отличается, так как в нем используется yum вместо apt. Установка PHP на CentOS требует добавления дополнительных репозиториев, таких как Remi, чтобы обеспечить доступ к более актуальным версиям PHP. Также важно настроить SELinux, если он включен на вашем сервере, чтобы PHP работал корректно с веб-серверами, такими как Apache или Nginx.
Следуя этому руководству, вы сможете установить PHP, настроить его для работы с веб-сервером и начать разрабатывать или обслуживать веб-приложения на Linux.
Как установить PHP на Linux: пошаговая инструкция
Для установки PHP на Linux выполните следующие шаги. Подробности зависят от используемой операционной системы и менеджера пакетов.
1. Обновите систему
Перед установкой PHP убедитесь, что ваша система актуальна. Это можно сделать с помощью команды:
sudo apt update && sudo apt upgrade -y
2. Установка PHP с помощью APT (для Debian/Ubuntu)
На системах, основанных на Debian или Ubuntu, для установки PHP используйте пакетный менеджер APT. Введите следующую команду:
sudo apt install php
Для установки конкретной версии PHP (например, 7.4), используйте:
sudo apt install php7.4
3. Установка PHP на CentOS/RHEL
На CentOS или RHEL сначала установите репозиторий EPEL, если он не был установлен:
sudo yum install epel-release
Затем добавьте репозиторий Remi, который предоставляет обновленные версии PHP:
sudo yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm
Теперь установите PHP:
sudo yum install php
Для установки конкретной версии, например PHP 7.4, используйте:
sudo yum install php74
4. Установка дополнительных модулей
В зависимости от ваших нужд, вам может потребоваться установить дополнительные модули PHP. Например, для работы с MySQL используйте:
sudo apt install php-mysql
Для установки дополнительных модулей на CentOS или RHEL используйте:
sudo yum install php-mysqlnd
5. Проверка версии PHP
После установки PHP проверьте его версию с помощью команды:
php -v
6. Настройка PHP
PHP имеет конфигурационный файл, который позволяет настраивать его поведение. Отредактируйте файл php.ini, чтобы настроить параметры, такие как время выполнения скрипта или размер загружаемых файлов:
sudo nano /etc/php/7.4/apache2/php.ini
Для Apache и Nginx также могут потребоваться дополнительные настройки для работы с PHP-FPM или Apache модулем mod_php.
7. Перезапуск веб-сервера
После настройки PHP перезапустите веб-сервер для применения изменений. Для Apache используйте:
sudo systemctl restart apache2
Для Nginx и PHP-FPM:
sudo systemctl restart php7.4-fpm
Теперь PHP установлен и настроен на вашем сервере. Вы можете начать использовать его для разработки веб-приложений или сайтов.
Установка PHP с помощью пакетного менеджера APT
Первым шагом является обновление списка пакетов. Для этого выполните команду:
sudo apt update
После обновления списка пакетов можно приступить к установке PHP. Для этого используйте команду:
sudo apt install php
Эта команда установит последнюю доступную версию PHP из репозиториев. Чтобы проверить установленную версию PHP, выполните:
php -v
Если необходимо установить конкретную версию PHP, например, PHP 7.4 или 8.0, используйте следующую команду:
sudo apt install php7.4
Для установки PHP с дополнительными модулями, такими как поддержка MySQL, FTP или GD, используйте следующую команду, добавляя нужные пакеты:
sudo apt install php7.4-mysql php7.4-ftp php7.4-gd
Если хотите установить все распространённые модули PHP для выбранной версии, воспользуйтесь командой:
sudo apt install php7.4-cli php7.4-common php7.4-curl php7.4-xml php7.4-mbstring
После завершения установки убедитесь, что PHP корректно работает, запустив скрипт с командой:
php -r "echo 'PHP установлен!';"
Если необходимо, можно настроить PHP, отредактировав конфигурационные файлы в каталоге /etc/php/7.4/cli или /etc/php/7.4/apache2 для работы с Apache. В случае использования Nginx потребуется настроить PHP-FPM.
Для управления версиями PHP и переключения между ними можно использовать инструмент update-alternatives:
sudo update-alternatives --set php /usr/bin/php7.4
APT автоматически будет следить за зависимостями, и вам не нужно вручную искать и устанавливать дополнительные библиотеки. Если потребуется обновить PHP до более новой версии, достаточно выполнить:
sudo apt upgrade php
Как проверить версию PHP после установки
Чтобы убедиться в успешной установке PHP на вашей системе Linux, выполните команду в терминале:
php -v
PHP 8.1.0 (cli) (built: Nov 2 2021 15:12:32) ( NTS )
Если вы видите ошибку «command not found», это означает, что PHP не установлен или не добавлен в переменную окружения PATH. В таком случае нужно будет проверить правильность установки.
Если в системе несколько версий PHP, уточните, какая версия используется по умолчанию, с помощью команды:
update-alternatives --display php
Для смены версии PHP можно использовать утилиту update-alternatives
. Например:
sudo update-alternatives --config php
Выберите нужную версию из предложенного списка и подтвердите выбор.
Настройка Apache для работы с PHP
Для работы с PHP на сервере Apache необходимо установить модуль mod_php и настроить конфигурацию Apache, чтобы он мог обрабатывать PHP-скрипты. Рассмотрим шаги настройки.
1. Установка модуля mod_php:
Если у вас ещё не установлен mod_php, выполните команду для установки соответствующего пакета. Для Ubuntu/Debian используйте:
sudo apt-get install libapache2-mod-php
Для CentOS/RHEL используйте команду:
sudo yum install php mod_php
2. Включение модуля mod_php:
В большинстве случаев модуль mod_php будет автоматически активирован после установки. Чтобы проверить, активен ли он, выполните команду:
sudo apache2ctl -M | grep php
3. Настройка конфигурации Apache:
Необходимо убедиться, что Apache настроен на правильную обработку PHP-скриптов. Откройте файл конфигурации Apache для редактирования:
sudo nano /etc/apache2/sites-available/000-default.conf
В блоке
убедитесь, что прописаны следующие строки:
SetHandler application/x-httpd-php
Если этого нет, добавьте строку, чтобы Apache знал, что файлы с расширением .php нужно обрабатывать как PHP-скрипты.
4. Проверка работы PHP с Apache:
После внесения изменений перезапустите Apache:
sudo systemctl restart apache2
Теперь для проверки работы PHP создайте тестовый файл с расширением .php в директории /var/www/html:
sudo nano /var/www/html/info.php
В файле разместите следующий код:
После этого откройте браузер и перейдите по адресу http://localhost/info.php
. Если всё настроено правильно, вы увидите страницу с информацией о версии PHP и его настройках.
5. Отключение отображения ошибок в продакшн-среде:
Для повышения безопасности на сервере в продакшн-среде рекомендуется отключить отображение ошибок PHP. Это можно сделать, изменив параметр display_errors
в файле конфигурации PHP:
sudo nano /etc/php/7.4/apache2/php.ini
Найдите строку display_errors = On
и измените на:
display_errors = Off
После этого перезапустите Apache:
sudo systemctl restart apache2
Теперь ваш Apache сервер настроен для работы с PHP.
Установка и настройка PHP для Nginx
Для корректной работы PHP с веб-сервером Nginx необходимо выполнить несколько шагов: установить PHP, настроить сервер и интегрировать их друг с другом через PHP-FPM (FastCGI Process Manager).
Вот подробная инструкция для установки и настройки:
- Установка PHP и необходимых модулей:
Установите PHP и PHP-FPM с помощью пакетного менеджера вашей системы. Для этого выполните команду:
sudo apt update
sudo apt install php-fpm php-mysql
Модуль php-mysql необходим для работы с базами данных MySQL. Если нужен дополнительный функционал, установите другие расширения, например:
sudo apt install php-curl php-xml php-mbstring php-zip
- Настройка PHP-FPM:
Конфигурация PHP-FPM находится в файле
/etc/php/7.x/fpm/pool.d/www.conf
. Откройте его для редактирования:sudo nano /etc/php/7.x/fpm/pool.d/www.conf
Измените параметры:
user = www-data
– указание пользователя для процессов PHP-FPM.group = www-data
– указание группы для процессов PHP-FPM.listen = /run/php/php7.x-fpm.sock
– путь к сокету, через который Nginx будет взаимодействовать с PHP.listen.owner = www-data
– установите владельца сокета.listen.group = www-data
– установите группу для сокета.
После изменения конфигурации перезапустите PHP-FPM:
sudo systemctl restart php7.x-fpm
- Настройка Nginx:
Теперь необходимо настроить Nginx для работы с PHP. Откройте конфигурационный файл вашего сайта, например:
sudo nano /etc/nginx/sites-available/default
В блоке
server
добавьте следующие строки:location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.x-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
Эта настройка позволяет Nginx направлять запросы на обработку PHP-файлов через сокет PHP-FPM.
- Перезапуск Nginx:
После внесения изменений в конфигурацию перезапустите Nginx:
sudo systemctl restart nginx
- Проверка работы PHP:
Создайте файл
info.php
в корневой директории вашего сайта:sudo nano /var/www/html/info.php
Вставьте в файл следующий код:
<?php phpinfo(); ?>
Перейдите в браузере по адресу
http://your_server_ip/info.php
. Если вы видите страницу с информацией о PHP, значит, настройка прошла успешно.
На этом настройка PHP для Nginx завершена. Убедитесь, что конфигурации работают корректно, и настройте дополнительные параметры безопасности, такие как удаление файла info.php
после тестирования.
Решение проблем с зависимостями при установке PHP
При установке PHP на Linux часто встречаются проблемы с зависимостями, которые могут затруднить успешную настройку среды. Эти проблемы обычно связаны с отсутствием необходимых пакетов или с конфликтами между версиями библиотек. Рассмотрим основные способы решения таких проблем.
1. Обновление системы
- Перед установкой PHP важно обновить систему, чтобы обеспечить актуальность всех пакетов. Для этого используйте команду:
sudo apt update && sudo apt upgrade
- Это обновит репозитории и установит последние версии пакетов, что может решить проблемы с зависимостями.
2. Установка недостающих зависимостей
- Если при установке PHP система сообщает о недостающих зависимостях, можно вручную установить требуемые пакеты. Например, для работы с базами данных часто необходимы драйверы, такие как php-mysql, php-pgsql и т. д. Для их установки используйте команды:
sudo apt install php-mysql sudo apt install php-pgsql
3. Использование версий PHP
- Конфликты между версиями PHP также могут вызывать проблемы. Чтобы установить конкретную версию PHP, используйте команды:
sudo apt install php7.4 sudo apt install php8.0
- Для переключения между версиями можно использовать утилиту update-alternatives:
sudo update-alternatives --config php
4. Использование PPA репозиториев
- Если стандартные репозитории не содержат актуальной версии PHP, добавьте репозиторий PPA, чтобы получить более свежие версии. Например, для Ubuntu можно использовать:
sudo add-apt-repository ppa:ondrej/php sudo apt update sudo apt install php8.1
5. Решение конфликтов между зависимостями
- В случае возникновения конфликтов, таких как несовместимость версий библиотек, используйте команду для поиска и устранения повреждённых пакетов:
sudo apt-get -f install
- Она автоматически установит недостающие зависимости и устранит конфликты.
6. Проверка установленных версий
- Для проверки установленных версий PHP и связанных пакетов используйте команду:
php -v
- Это поможет убедиться, что установлена нужная версия и нет конфликтов между различными компонентами.
Как установить дополнительные расширения PHP
Чтобы установить дополнительные расширения PHP, нужно использовать стандартный пакетный менеджер вашей операционной системы. В большинстве случаев для установки расширений PHP применяется команда apt
для Ubuntu/Debian или yum
для CentOS/RHEL.
Для начала проверьте доступные расширения для вашей версии PHP. Например, для Ubuntu/Debian можно использовать команду:
sudo apt-cache search php
Для установки расширения достаточно выполнить команду:
sudo apt install php-имя_расширения
Замените имя_расширения
на нужное название, например, php-curl
, php-mbstring
или php-mysql
. После установки перезапустите сервер, чтобы изменения вступили в силу:
sudo systemctl restart apache2
Для пользователей CentOS/RHEL команда будет выглядеть так:
sudo yum install php-имя_расширения
Не забудьте проверить, установилось ли расширение, с помощью команды:
php -m
Эта команда выведет список всех установленных расширений. Если необходимое расширение присутствует, оно будет отображаться в списке.
Для установки расширений, которые не входят в стандартный репозиторий, можно использовать сторонние репозитории или собрать расширение из исходников. Например, для расширений, требующих специфической конфигурации, нужно скачать исходники с официального сайта PHP и скомпилировать их с помощью команд:
wget https://pecl.php.net/get/имя_расширения.tgz
tar -xvzf имя_расширения.tgz
cd имя_расширения
phpize
./configure
make
sudo make install
Не забывайте перезапускать сервер после установки расширений, чтобы PHP применил изменения.
Тестирование работы PHP на сервере
После установки PHP на сервере важно убедиться, что он правильно настроен и работает. Для этого можно использовать несколько простых методов тестирования.
Первый способ – создание файла для отображения информации о PHP. В корневой директории веб-сервера создайте файл с именем info.php и добавьте в него следующий код:
<?php
phpinfo();
?>
Этот код вызовет отображение подробной информации о текущей конфигурации PHP, включая версию, доступные модули и настройки. Для этого откройте файл в браузере, перейдя по URL-адресу http://your_server_ip/info.php. Если сервер настроен правильно, вы увидите страницу с информацией о PHP. После тестирования не забудьте удалить этот файл, чтобы предотвратить утечку конфиденциальной информации.
Второй метод – тестирование через командную строку. Для этого выполните команду:
php -v
Эта команда выведет текущую версию PHP, если он установлен и настроен правильно. Вы также можете использовать команду php -m для проверки установленных расширений.
Если при вызове файла info.php или при выполнении команд через CLI возникают ошибки, проверьте, что сервис Apache или Nginx работает, а конфигурационные файлы PHP корректно настроены. Также убедитесь, что путь к интерпретатору PHP правильно указан в настройках веб-сервера.
Вопрос-ответ:
Как установить PHP на Linux?
Для установки PHP на Linux нужно выполнить несколько шагов. В первую очередь, откройте терминал и обновите список пакетов командой `sudo apt update`. Затем установите PHP с помощью команды `sudo apt install php`. После этого проверьте установленную версию PHP с помощью команды `php -v`. Также могут понадобиться дополнительные пакеты для работы с базами данных, такими как `php-mysql` или `php-xml`, которые можно установить через `sudo apt install php-mysql php-xml`.
Что делать, если после установки PHP на Linux команда php -v не выводит информацию о версии?
Если команда `php -v` не выводит информацию о версии, это может означать, что PHP не установлен правильно или не добавлен в системный PATH. Проверьте, установлен ли PHP с помощью команды `sudo apt list —installed | grep php`. Если PHP установлен, возможно, его нужно указать в переменной среды. Попробуйте выполнить команду `sudo update-alternatives —set php /usr/bin/php7.x` (заменив 7.x на вашу версию PHP) и проверьте снова.
Нужно ли устанавливать дополнительные пакеты для работы PHP с MySQL?
Да, для работы PHP с MySQL вам нужно установить дополнительный пакет `php-mysql`. Это можно сделать командой `sudo apt install php-mysql`. После установки перезапустите сервер Apache с помощью `sudo systemctl restart apache2` или Nginx, если вы его используете. После этого PHP будет работать с MySQL, и вы сможете подключаться к базе данных в своих скриптах.
Как проверить, что PHP работает на веб-сервере после установки?
Для проверки работы PHP на веб-сервере нужно создать тестовый файл с расширением `.php` в директории, где находятся ваши веб-страницы (например, `/var/www/html`). В этом файле поместите код:
Как обновить PHP на Linux до последней версии?
Для обновления PHP на Linux нужно сначала добавить репозиторий с последними версиями PHP, если он еще не добавлен. Для этого выполните команду `sudo add-apt-repository ppa:ondrej/php` (для Ubuntu и Debian). Затем обновите пакеты командой `sudo apt update`, а после этого установите новую версию PHP, например, с помощью `sudo apt install php7.4` (или замените 7.4 на нужную вам версию). После установки не забудьте перезапустить веб-сервер.