Установка PHP 8.4 на Debian 12 Bookworm с помощью зеркал Яндекса
После блокировки доступа к репозиториям deb.sury.org некоторое время нам приходилось использовать сторонние зеркала, теперь у нас появилась возможность использовать зеркала Яндекса для установки пакетов.
Сегодня мы рассмотрим установку PHP 8.4 на Debian 12 Bookworm из зеркала Яндекса - mirror.yandex.ru
Добавление нового ключа PGP
Загрузим новый PGP-ключ:
cd ~
wget https://mirror.yandex.ru/mirrors/packages.sury.org/php/apt.gpg
Запустим:
sudo mv ~/apt.gpg /etc/apt/trusted.gpg.d/php.gpg
Ключ установлен!
Удаление старого репозитория
Если у вас не был настроен репозиторий, то этот раздел вам нужно пропустить!
Удалите старые файлы или строки со ссылками на старый репозиторий:
rm /etc/apt/sources.list.d/surry-mirror.list
В вашем случае имя файла может отличаться и строка с репозиторием прописана в:
/etc/apt/sources.list
Настройка репозитория
Запустим:
echo "deb https://mirror.yandex.ru/mirrors/packages.sury.org/php/ bookworm main" |sudo tee /etc/apt/sources.list.d/surry-mirror.list
Проверка зеркала
Запустим:
sudo apt update
Get:1 https://mirror.yandex.ru/mirrors/packages.sury.org/php bookworm InRelease [7,551 B]
Get:2 https://mirror.yandex.ru/mirrors/packages.sury.org/php bookworm/main amd64 Packages [244 kB]
Get:3 http://deb.debian.org/debian bookworm InRelease [151 kB]
Get:4 http://security.debian.org/debian-security bookworm-security InRelease [48.0 kB]
Get:5 http://security.debian.org/debian-security bookworm-security/main Sources [120 kB]
Get:6 http://deb.debian.org/debian bookworm-updates InRelease [55.4 kB]
Get:7 http://deb.debian.org/debian bookworm/non-free-firmware Sources [6,436 B]
Get:8 http://deb.debian.org/debian bookworm/main Sources [9,487 kB]
Get:9 http://security.debian.org/debian-security bookworm-security/main amd64 Packages [188 kB]
Get:10 http://security.debian.org/debian-security bookworm-security/main Translation-en [114 kB]
Get:11 http://deb.debian.org/debian bookworm/main amd64 Packages [8,787 kB]
Get:12 http://deb.debian.org/debian bookworm/main Translation-en [6,109 kB]
Get:13 http://deb.debian.org/debian bookworm/non-free-firmware amd64 Packages [6,236 B]
Get:14 http://deb.debian.org/debian bookworm/non-free-firmware Translation-en [20.9 kB]
Get:15 http://deb.debian.org/debian bookworm-updates/main Sources.diff/Index [11.7 kB]
Get:16 http://deb.debian.org/debian bookworm-updates/main amd64 Packages.diff/Index [11.7 kB]
Get:17 http://deb.debian.org/debian bookworm-updates/main Translation-en.diff/Index [11.7 kB]
Get:18 http://deb.debian.org/debian bookworm-updates/main Sources T-2024-09-10-2011.55-F-2024-09-10-2011.55.pdiff [562 B]
Get:19 http://deb.debian.org/debian bookworm-updates/main amd64 Packages T-2024-09-10-2011.55-F-2024-09-10-2011.55.pdiff [1,116 B]
Get:18 http://deb.debian.org/debian bookworm-updates/main Sources T-2024-09-10-2011.55-F-2024-09-10-2011.55.pdiff [562 B]
Get:19 http://deb.debian.org/debian bookworm-updates/main amd64 Packages T-2024-09-10-2011.55-F-2024-09-10-2011.55.pdiff [1,116 B]
Get:20 http://deb.debian.org/debian bookworm-updates/main Translation-en T-2024-09-10-2011.55-F-2024-09-10-2011.55.pdiff [538 B]
Get:20 http://deb.debian.org/debian bookworm-updates/main Translation-en T-2024-09-10-2011.55-F-2024-09-10-2011.55.pdiff [538 B]
Fetched 25.4 MB in 7s (3,521 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
31 packages can be upgraded. Run 'apt list --upgradable' to see them.
Установка PHP 8.4
Запустим:
sudo apt install php8.4 php8.4-common php8.4-cli php8.4-gd php8.4-mysqlnd php8.4-curl php8.4-intl php8.4-mbstring php8.4-bcmath php8.4-xml php8.4-zip php8.4-fpm mc
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Note, selecting 'php8.4-mysql' instead of 'php8.4-mysqlnd'
The following additional packages will be installed:
debsuryorg-archive-keyring fontconfig-config fonts-dejavu-core libabsl20220623 libaom3 libavif15 libcurl3-gnutls libcurl4 libdav1d6 libde265-0 libdeflate0 libfontconfig1 libfribidi0 libgav1-1 libgd3 libglib2.0-0 libglib2.0-data
libgomp1 libgraphite2-3 libharfbuzz0b libheif1 libimagequant0 libjbig0 libjpeg62-turbo liblerc4 libnuma1 libonig5 libraqm0 librav1e0 libsodium23 libsvtav1enc1 libtiff6 libwebp7 libx265-199 libxpm4 libxslt1.1 libyuv0 libzip4
php-common php8.4-opcache php8.4-readline psmisc shared-mime-info xdg-user-dirs
Suggested packages:
libgd-tools low-memory-monitor php-pear
The following NEW packages will be installed:
debsuryorg-archive-keyring fontconfig-config fonts-dejavu-core libabsl20220623 libaom3 libavif15 libcurl4 libdav1d6 libde265-0 libdeflate0 libfontconfig1 libfribidi0 libgav1-1 libgd3 libglib2.0-0 libglib2.0-data libgomp1
libgraphite2-3 libharfbuzz0b libheif1 libimagequant0 libjbig0 libjpeg62-turbo liblerc4 libnuma1 libonig5 libraqm0 librav1e0 libsodium23 libsvtav1enc1 libtiff6 libwebp7 libx265-199 libxpm4 libxslt1.1 libyuv0 libzip4 php-common php8.4
php8.4-bcmath php8.4-cli php8.4-common php8.4-curl php8.4-fpm php8.4-gd php8.4-intl php8.4-mbstring php8.4-mysql php8.4-opcache php8.4-readline php8.4-xml php8.4-zip psmisc shared-mime-info xdg-user-dirs
The following packages will be upgraded:
libcurl3-gnutls
1 upgraded, 55 newly installed, 0 to remove and 30 not upgraded.
Need to get 24.5 MB of archives.
After this operation, 103 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Будут установлены требуемые пакеты.
Проверим:
php -v
PHP 8.4.0RC1 (cli) (built: Sep 27 2024 04:10:22) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.4.0RC1, Copyright (c) Zend Technologies
with Zend OPcache v8.4.0RC1, Copyright (c), by Zend Technologies
Проверка установки
Установим nginx:
sudo apt install --yes nginx
Создадим файл:
sudo mcedit /etc/nginx/sites-available/php84_test
С содержимым:
server {
listen 9999 default_server;
listen [::]:9999 default_server;
root /var/www/html;
# Add index.php to the list if you are using PHP
index index.php index.html index.htm index.nginx-debian.html;
server_name _;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
# pass PHP scripts to FastCGI server
#
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.4-fpm.sock;
}
}
Создадим символическую ссылку:
sudo ln -s /etc/nginx/sites-available/php84_test /etc/nginx/sites-enabled
Проверим конфигурацию Nginx:
sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Перезапустим:
sudo service nginx restart
Проверим:
http://192.168.1.36:9999
Страница загружается.
Создадим файл:
echo "<?php echo phpinfo(); ?>" | sudo tee /var/www/html/test.php
Проверим:
http://192.168.1.36:9999/test.php
Всё работает.
Заключение
Сегодня мы рассмотрели установку PHP версии 8.4 из зеркала яндекса.
Удалили старый репозиторий.
Прописали новый репозиторий.
Загрузили и установили PGP ключи.
Запустили обновление репозитория.
Установили Nginx и проверили как работает php-fpm.
Добавить комментарий