Как установить php на debian
Раздел содержит информацию и подсказки, относящиеся к установке PHP на » Debian GNU/Linux.
Неофициальные сборки от третьих лиц не поддерживаются. О любых ошибках следует сообщать разработчикам Debian, но перед этим стоит проверить, возможно они уже исправлены в новых релизах, которые можно скачать на » странице загрузки.
Хотя и существует универсальная инструкция по установке PHP на Unix/Linux, в этом разделе мы рассмотрим особенности специфичные для Debian, такие как использование команд apt или aptitude . В рамках этого руководства обе эти команды рассматриваются как взаимозаменяемые.
Использование APT
Во первых, обратите внимание на то, что некоторые пакеты связаны: libapache-mod-php нужен для интеграции с Apache 2, и php-pear с PEAR.
Во-вторых, перед установкой убедитесь, что список пакетов находится в актуальном состоянии. Как правило, это делается с помощью команды apt update.
Пример #1 Пример установки Apache 2 на Debian
APT автоматически установит модуль PHP для Apache 2 и все их зависимости и, затем, активирует их. Apache должен быть перезапущен для того, чтобы изменения вступили в силу. Например:
Пример #2 Остановка и запуск Apache после установки PHP
Контроль конфигурации
Изначально, PHP устанавливается только с основными модулями ядра. Если вы хотите установить дополнительные модули, такие как MySQL, cURL, GD и т.д., это также можно сделать с помощью команды apt .
Пример #3 Способы получить список дополнительных пакетов PHP
Будет выведен список большого числа пакетов, включая несколько специфичных, таких как php-cgi, php-cli and php-dev. Определите, какие вам нужны и установите с помощью apt-get или aptitude . И, так как Debian производит проверку зависимостей, вам будет выведен запрос на их установку.
Пример #4 Установка PHP с MySQL и cURL
APT автоматически добавит необходимые строки в соответствующие php.ini , /etc/php/7.4/php.ini , /etc/php/7.4/conf.d/*.ini , и т.д. В зависимости от модуля, будут внесены записи типа extension=foo.so . В любом случае, чтобы эти изменения вступили в силу, необходимо будет перезапустить сервер веб-сервер.
Стандартные проблемы
- Если скрипты PHP не разбираются веб-сервером, то скорее всего это означает, что PHP не был добавлен в конфигурацию веб-сервера. На Debian это обычно /etc/apache2/apache2.conf или похожий. Смотрите документацию Debian для выяснения подробностей.
- Модуль, по-видимому, установлен, а его функции всё равно не распознаются. В таком случае убедитесь, что соответствующий ini-файл был загружен и/или веб-сервер был перезагружен после установки модуля.
- Для установки пакетов в Debian существуют две основных команды (не считая стандартных вариантов Linux): apt и aptitude . Объяснения их синтаксиса, особенностей и отличий друг от друга выходит за рамки данного руководства.
User Contributed Notes 6 notes
To refresh this document, perhaps it would be worth mentioning more modern methods to serve php content under apache httpd.
Specifically, the preferred method is now fastcgi, using either of those recipes:
While the legacy mod_php approach is still applicable for some older installations, the fastcgi method is much faster, and require much less RAM to operate, based on similar traffic patterns.
Compiling PHP on Ubuntu boxes.
If you would like to compile PHP from source as opposed to relying on package maintainers, here’s a list of packages, and commands you can run
STEP 1:
sudo apt-get install autoconf build-essential curl libtool \
libssl-dev libcurl4-openssl-dev libxml2-dev libreadline7 \
libreadline-dev libzip-dev libzip4 nginx openssl \
pkg-config zlib1g-dev
So you don’t overwrite any existing PHP installs on your system, install PHP in your home directory. Create a directory for the PHP binaries to live
STEP 2:
# download the latest PHP tarball, decompress it, then cd to the new directory.
STEP 3:
Configure PHP. Remove any options you don’t need (like MySQL or Postgres (—with-pdo-pgsql))
./configure —prefix=$HOME/bin/php-latest \
—enable-mysqlnd \
—with-pdo-mysql \
—with-pdo-mysql=mysqlnd \
—with-pdo-pgsql=/usr/bin/pg_config \
—enable-bcmath \
—enable-fpm \
—with-fpm-user=www-data \
—with-fpm-group=www-data \
—enable-mbstring \
—enable-phpdbg \
—enable-shmop \
—enable-sockets \
—enable-sysvmsg \
—enable-sysvsem \
—enable-sysvshm \
—enable-zip \
—with-libzip=/usr/lib/x86_64-linux-gnu \
—with-zlib \
—with-curl \
—with-pear \
—with-openssl \
—enable-pcntl \
—with-readline
STEP 4:
compile the binaries by typing: make
If no errors, install by typing: make install
STEP 5:
Copy the PHP.ini file to the install directory
/bin/php-latest/etc;
mv php-fpm.conf.default php-fpm.conf
mv php-fpm.d/www.conf.default php-fpm.d/www.conf
STEP 7:
create symbolic links for your for your binary files
/bin
ln -s php-latest/bin/php php
ln -s php-latest/bin/php-cgi php-cgi
ln -s php-latest/bin/php-config php-config
ln -s php-latest/bin/phpize phpize
ln -s php-latest/bin/phar.phar phar
ln -s php-latest/bin/pear pear
ln -s php-latest/bin/phpdbg phpdbg
ln -s php-latest/sbin/php-fpm php-fpm
STEP 8: link your local PHP to the php command. You will need to logout then log back in for php to switch to the local version instead of the installed version
# add this to .bashrc
if [ -d «$HOME/bin» ] ; then
PATH=»$HOME/bin:$PATH»
fi
Установка PHP в Debian
PHP — очень популярный скриптовый язык программирования с открытым исходным кодом, который в основном используется для разработки динамических веб-сайтов и веб-приложений. PHP расшифровывается как Hypertext Processor что в переводе означает препроцессор гипертекста. Код PHP выполняется на стороне сервера и может находиться как в отдельных файлах с расширением .php, так и быть встроенным непосредственно в HTML.
На данный момент официально поддерживается 2 версии PHP — это 7.4 и 8.0. В данной статье будет рассмотрена установка PHP на Debian 11. Также будет затронута установка расширения для Apache, а также рассказано как изменить версию по умолчанию.
Установка PHP в Debian 11
В данной статье речь конкретно пойдёт о PHP 7.4 и PHP 8. Версия PHP 7.4 уже присутствует в официальных репозиториях Debian. Версия 8.0 отсутствует в официальных репозиториях и её необходимо устанавливать из сторонних репозиториев (будет использоваться репозиторий Sury).
Установка PHP 7.4
Как уже было сказано ранее PHP 7.4 уже присутствует в официальных репозиториях. Для установки сначала необходимо обновить индекс пакетов при помощи команды:
sudo apt update

Далее необходимо установить PHP выполнив команду:
sudo apt -y install php7.4

При выполнении вышеуказанной команды помимо самого интерпретатора PHP автоматически будут установлены такие пакеты как php7.4-json (пакет для работы с JSON), libapache2-mod-php7.4 (пакет для работы с веб-сервером Apache), php7.4-cli (командный интерпретатор PHP) а также автоматически будет установлен веб-сервер Apache (пакеты apache2, apache2-data, apache2-utils).
После того как все пакеты будут установлены в системе можно проверить версию PHP при помощи команды:

Также проверить что PHP 7.4 установилась успешно можно при помощи команды:

Если в выводе команды будет отображена версия PHP это означает что PHP успешно установлен в системе.
Установка PHP 8.0 и 8.1
PHP 8 отсутствует в официальных репозиториях Debian. Для установки данной версии необходимо подключить репозиторий под именем Sury — репозиторий созданный одним из разработчиков Debian содержащий пакеты, которые отсутствуют в официальных релизах Debian.
Для начала необходимо установить необходимые пакеты для работы с HTTPS репозиториями для этого необходимо выполнить команду:
sudo apt install -y lsb-release ca-certificates apt-transport-https software-properties-common gnupg2

Далее необходимо подключить репозиторий Sury. Для этого необходимо выполнить команду:
echo «deb https://packages.sury.org/php/ $(lsb_release -sc) main» | sudo tee /etc/apt/sources.list.d/sury-php.list

После этого необходимо скачать ключ безопасности для идентификации репозитория при помощи утилиты wget (при её отсутствия необходимо установить wgetзаранее) выполнив команду:
wget -qO — https://packages.sury.org/php/apt.gpg | sudo apt-key add —

После этого необходимо обновить индекс пакетов:
sudo apt update

В списках репозиториев можно увидеть успешно добавленный репозиторий Sury. В репозитории Sury присутствует 2 версии PHP 8 — 8.0 и 8.1. Можно выбрать любую из них или установить сразу обе. В качестве примера будет установлена версия 8.1. Для этого необходимо выполнить команду:
sudo apt -y install php8.1

Для установки версии 8.0 команда будет выглядеть следующим образом:
sudo apt -y install php8.0
Так же, как и при установке PHP версии 7.4 автоматически будут установлены дополнительные пакеты. Для каждой версии PHP устанавливаются свои пакеты. Это означает что, если в системе уже присутствует, например пакет php7.4-cli то для версии PHP 8.1 будет установлен пакет php8.1-cli и т.д. Для проверки корректной установки версии PHP 8.1 необходимо выполнить команду:

Или можно выполнить команду:

Настройка PHP для веб-сервера Apache
Для работы PHP Apache Debian необходимо чтобы в системе присутствовал сам веб-север Apache (пакет apache2) и расширение libapache2-mod-php8.1 (для всех остальных версий PHP название пакета будет одинаковым, однако в конце необходимо указать необходимую версию PHP — 7.4, 8.0. Например libapache2-mod-php7.4, libapache2-mod-php8.0).
Веб сервер Apache и расширение libapache2-mod-php устанавливаются автоматически при установке пакета PHP. В противном случае пакет libapache2-mod-php можно установить, вручную выполнив одну из нижеперечисленных команд (в зависимости от требуемой версии PHP или можно установить сразу для всех версий PHP присутствующих в системе):
sudo apt -y install libapache2-mod-php7.4
sudo apt -y install libapache2-mod-php8.0
sudo apt -y install libapache2-mod-php8.1
Перед использованием PHP необходимо включить соответствующий модуль в Apache. Для включения модуля php7.4 необходимо выполнить команду:
sudo a2enmod php7.4

Если в выводе команды будет строка Module already enabled, это означает что модуль уже включен. Чтобы выключить модуль необходимо выполнить команду:
sudo a2dismod php7.4

Далее необходимо перезапустить apache при помощи команды:
sudo systemctl restart apache2

Если необходимо включить модуль для другой версии php, например 8.1 сначала необходимо выключить модуль для другой версии (команда a2dismod) и только потом включить модуль для нужной версии. Для включения модуля php версии 8.1 необходимо выполнить команду:
sudo a2enmod php8.1

После включения модуля также необходимо перезапустить apache при помощи команды:
sudo systemctl restart apache2

Далее для проверки работы Apache и PHP необходимо создать файл с расширением .php в директории хранения сайтов — /var/www/html/ вписав туда команду phpinfo() которая выведет информацию о текущей конфигурации PHP. Для этого необходимо выполнить команду ниже предварительно перейти под учетную запись пользователя root:
echo «<?php phpinfo(); ?>» > /var/www/html/info.php

Далее необходимо перезапустить веб-сервер Apache:
sudo systemctl restart apache2

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

На этом настройки php debian с Apache завершена.
Выбор версии PHP
Если в системе присутствует более чем одной версии PHP можно выбрать версию PHP которая будет использоваться по умолчанию. Для того чтобы выбрать необходимую версию PHP сначала можно отобразить список всех версий PHP установленных в системе выполнив команду:
update-alternatives —list php

Для установки необходимой версии по умолчанию необходимо выполнить команду:
sudo update-alternatives —set php /usr/bin/php8.1

Вместо php8.1 можно поставить необходимую версию PHP (7.4, 8.0 и тд).
Выводы
В этой статье была рассмотрено как установить PHP Debian 11. Была рассмотрена установка двух версий PHP — 7.4 и 8 а также была описана интеграция PHP с веб-сервером Apachе и выбор необходимой версии PHP по умолчанию. Теперь вы знаете, как установить не только сам интерпретатор языка PHP, но и другие поддерживаемые версии. Как видите, это очень просто, и вы можете получить нужную версию PHP буквально в несколько кликов. Надеюсь, эта информация была вам полезной.
LAMP, Linux Apache MySQL PHP
Before starting the installation, make sure your distribution is up to date (the ‘#’ indicates that you should do this as root):
MariaDB
Next install MariaDB using the following command:
Immediately after you have installed the MariaDB server, you should run the next command to secure your installation.
The previous script change root password and make some other security improvements.
You must never use your root account and password when running databases. The root account is a privileged account which should only be used for admin procedures. You will need to create a separate user account to connect to your MariaDB databases from a PHP script. You can add users to a MariaDB database by using a control panel like phpMyAdmin to easily create or assign database permissions for users.
apache2
The web server can be installed as follows:
Configuring user directories for Apache Web Server
Configure Apache module userdir in /etc/apache2/mods-enabled/userdir.conf as follows:
From apache 2.4 and later use instead:
Create directory as user (not as root):
Change group as root (substitute your username) and restart web server:
If you get a Forbidden error when accessing home folder through Apache check /home/username has permissions drwxr-xr-x. If the permissions are wrong correct them as such:
To be able to serve PHP (PHP needs to be installed as per instructions) check that /etc/apache2/mods-available/php5.conf is correct:
Place some web content in
/public_html and see the results at http://localhost/
The "P" part
Installing the PHP subset of LAMP in Debian is quite simple, you just type this as root in an console (the # is the root prompt symbol):
If you prefer Perl, then you might consider:
If you prefer Python, then you might consider:
Configuration
Apache2 configuration file: /etc/apache2/apache2.conf
You can edit this file when needed, but for most simple applications, this should not be necessary as most stuff is now done using conf.d.
Test PHP
To test the PHP interface, edit the file /var/www/html/test.php:
and insert the following code.
Afterwards, point your browser to http://<SERVERIP>/test.php to start using it.
phpMyAdmin
Probably you also want to install phpMyAdmin for easy configuration:
To have access to phpMyAdmin on your website (i.e. http://example.com/phpmyadmin/ ) all you need to do is include the following line in /etc/apache2/apache2.conf (needed only before Squeeze, since 6.0 it will be linked by the package install script to /etc/apache2/conf.d/phpmyadmin.conf -> ../../phpmyadmin/apache.conf automatically):
Go to http://<SERVERIP>/phpmyadmin/ to start using it. (Use the IP or name of your PC/server instead of <SERVERIP> (The localhost IP is always 127.0.0.1).)
PHP: /etc/php5/apache2/php.ini
A usual issue with PHP configuration is to enable MySQL. Just edit the file and uncomment the following line (tip: search for mysql)
Note that this should not be needed anymore as conf.d is now used.
MySQL : /etc/mysql/my.cnf
You can find configuration examples in /usr/share/doc/mysql-server/examples
Как установить PHP 8.0 на Debian 10 | Debian 9
В этом кратком руководстве мы покажем вам, как установить PHP 8.0 на Debian 10 | Debian 9. PHP — мощный язык сценариев для веб-разработки. Любой сценарий PHP может быть выполнен в системе Linux, Windows, macOS и Unix с установленной средой выполнения PHP. На момент написания этой статьи PHP 8 доступен для установки на Debian 10 | Машина Debian 9 Linux.
Официальный релиз PHP 8, 26 ноября 2020 . Этот основной выпуск PHP содержит множество новых функций и улучшений производительности.
Просто веселое видео для отвлечения и расслабления в течение 2 минут
Вам также следует ожидать новых критических изменений, которые означают, что для его работы на PHP 8 могут потребоваться некоторые изменения в вашем коде. Некоторые из хороших наборов новых функций, поставляемых с PHP 8, — это компилятор JIT, именованные аргументы, типы объединения, атрибуты и т. Д. и многое другое.
Шаг 1. Обновите систему
Перед тем, как начать установку PHP 8 на Debian 10 | Debian 9 обновите вашу систему до последней версии.
Поскольку могут быть обновления ядра, рассмотрите возможность перезагрузки системы после обновления.
Шаг 2. Добавьте репозиторий Surý APT
Пакеты PHP 8 для Debian доступны в репозитории DEB.SURY.ORG . Установите необходимые зависимости.
Добавьте APT-репозиторий пакетов PHP на свой сервер Debian.
Импортировать ключ репозитория:
Выполните обновление индекса пакета, чтобы убедиться, что репозиторий добавлен:
Шаг 3. Установите PHP 8 в Debian 10 | Debian 9
После добавления репозитория вы можете начать установку PHP 8.0 на Debian 10 | Debian 9:
Нажмите клавишу y, чтобы начать установку:
Подтвердите версию PHP по умолчанию на сервере:
Шаг 4. Установите расширения PHP 8 в Debian 10 | Debian 9
Чтобы установить расширения PHP 8 в Debian 10 | Debian 9 использует следующий синтаксис команды:
- <расширение> заменяется фактическим именем расширения.
Некоторые доступные расширения показаны ниже:
Подтвердите запрос на установку, нажав клавишу y .
Используйте тот же формат установки для всех остальных расширений PHP, доступных в репозитории. Чтобы проверить загруженные модули PHP, используйте команду:
Privacy Overview
Этот веб-сайт использует файлы cookie, чтобы улучшить вашу работу во время навигации по веб-сайту. Из них файлы cookie, которые классифицируются как необходимые, хранятся в вашем браузере, поскольку они необходимы для работы основных функций веб-сайта. Мы также используем сторонние файлы cookie, которые помогают нам анализировать и понимать, как вы используете этот веб-сайт. Эти файлы cookie будут храниться в вашем браузере только с вашего согласия. У вас также есть возможность отказаться от этих файлов cookie. Но отказ от некоторых из этих файлов cookie может повлиять на ваш опыт просмотра.