Я установил PHP 7.2 на сервер Debian 9 (фактически это контейнер докеров) и установил несколько модулей php.
Но когда я доберусь до gd
и pdo/mysql
apt
не может найти ни одного пакета:
$apt install php-pdo
Package php-pdo is a virtual package provided by:
php7.3-common 7.3.0-2 [Not candidate version]
php7.0-common 7.0.33-0+deb9u1 [Not candidate version]
php7.0-common 7.0.30-0+deb9u1 [Not candidate version]
Мои файлы sources.list выглядят так:
cat /etc/apt/sources.list
deb http://deb.debian.org/debian stretch main
deb http://security.debian.org/debian-security stretch/updates main
deb http://deb.debian.org/debian stretch-updates main
deb https://packages.sury.org/php/ stretch main
deb https://packages.sury.org/apache2/ stretch main
Я прошел через множество веб-сайтов, рекомендующих разные вещи, и многие из них рекомендуют добавить ondrej / php PPA, которые, как мне кажется, подходят только для систем Ubuntu.
PS: программное обеспечение, которое я пытаюсь запустить поверх PHP, имеет следующее требование:
Заметка У меня такая же проблема с пакетом php7.2-mysql
$apt-get install php7.2-mysql
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package php7.2-mysql
E: Couldn't find any package by glob 'php7.2-mysql'
E: Couldn't find any package by regex 'php7.2-mysql'
Редактировать 2: Это мой результат apt-get update
(после apt-get clean
команда для очистки кеша):
apt-get update
Ign:1 http://deb.debian.org/debian stretch InRelease
Hit:2 http://repo.mysql.com/apt/debian stretch InRelease
Hit:3 http://deb.debian.org/debian stretch-updates InRelease
Hit:4 http://security.debian.org/debian-security stretch/updates InRelease
Hit:5 http://security.debian.org/debian-security buster/updates InRelease
Ign:6 http://deb.debian.org/debian strecht InRelease
Hit:7 http://deb.debian.org/debian buster InRelease
Hit:8 http://deb.debian.org/debian buster-updates InRelease
Hit:9 http://deb.debian.org/debian stretch Release
Ign:10 http://deb.debian.org/debian strecht Release
Ign:11 http://deb.debian.org/debian strecht/main Sources
Ign:11 http://deb.debian.org/debian strecht/main Sources
Ign:11 http://deb.debian.org/debian strecht/main Sources
Ign:11 http://deb.debian.org/debian strecht/main Sources
Ign:11 http://deb.debian.org/debian strecht/main Sources
Err:11 http://deb.debian.org/debian strecht/main Sources
404 Not Found
Reading package lists... Done
W: The repository 'http://deb.debian.org/debian strecht Release' does not have a Release file.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.
E: Failed to fetch http://deb.debian.org/debian/dists/strecht/main/source/Sources 404 Not Found
E: Some index files failed to download. They have been ignored, or old ones used instead.
Такого пакета нет, поскольку PDO встроен в пакеты, предоставляющие модули SQL:
Package: php7.2-mysql
Description: MySQL module for PHP
This package provides the MySQL module(s) for PHP.
Provides: php-mysqli, php-mysqlnd, php-pdo-mysql,
php7.2-mysqli, php7.2-mysqlnd, php7.2-pdo-mysql
Package: php7.2-pgsql
Description: PostgreSQL module for PHP
This package provides the PostgreSQL module(s) for PHP.
Provides: php-pdo-pgsql, php-pgsql, php7.2-pdo-pgsql
Также обратите внимание, что это не пакеты из Debian 9 Stretch, которые только имеет PHP 7.0. Они из Sury.org хранилище deb https://packages.sury.org/php/ stretch main
вы добавили.