我正在运行这个流浪盒:https://atlas.hashicorp.com/tierra/boxes/wordpress-php52
我有一个旧的应用程序,它只能在带有PostgreSQL的PHP 5.2上运行。这个盒子使用PHP 5.2,它可以正常工作,并让我有一些方法。然后我就可以安装一个Postgres服务器,它也可以工作。
我的问题是当我尝试:
apt-get install php5-pgsql
我收到此错误:
以下软件包具有未满足的依赖项:php5-pgsql:取决于: phpapi-20090626 取决于:php5-common(= 5.3.3-7 + squeeze19)但是要安装5.2.17-0.dotdeb.0 E:破包
我发现了一些说明,用于将我的软件包固定到某些版本,因此它们不会自动升级。我查看了/etc/apt/preferences.d/php5,看到已经有很多软件包固定在这个流浪盒上,适用于PHP 5.2。我在这个文件的底部添加了php5-pgsql:
Package: php5-pgsql
Pin: version 5.2*
Pin-Priority: 1001
之后我运行了apt-get update并尝试再次安装该软件包,但出现了同样的错误。以下是我运行时获得的更多信息:
apt-cache showpkg php5-common
我得到以下列表:
Package: php5-common
Versions:
5.3.3-7+squeeze19 (/var/lib/apt/lists/archive.debian.org_debian_dists_squeeze_main_binary-amd64_Packages) (/var/lib/apt/lists/security.debian.org_dists_squeeze_updates_main_binary-amd64_Packages)
Description Language:
File: /var/lib/apt/lists/archive.debian.org_debian_dists_squeeze_main_binary-amd64_Packages
MD5: 35fa5e0abdb65960311eaf3dfa99d225
5.2.17-0.dotdeb.0 (/var/lib/dpkg/status)
Description Language:
File: /var/lib/dpkg/status
MD5: d0c21fef525e6be25407d866c992d2ac
Reverse Depends:
php5-mysql,php5-common 5.2.17-0.dotdeb.0
php5,php5-common 5.2.17-0.dotdeb.0
php5-xsl,php5-common 5.2.17-0.dotdeb.0
libapache2-mod-php5,php5-common 5.2.17-0.dotdeb.0
php5-cli,php5-common 5.2.17-0.dotdeb.0
php5-mcrypt,php5-common 5.2.17-0.dotdeb.0
php5-memcache,php5-common 5.2.17-0.dotdeb.0
php5-ssh2,php5-common 5.2.17-0.dotdeb.0
php5-curl,php5-common 5.2.17-0.dotdeb.0
php-pear,php5-common 5.2.17-0.dotdeb.0
php5-xdebug,php5-common 5.2.17-0.dotdeb.0
php5-gd,php5-common 5.2.17-0.dotdeb.0
php5-cgi,php5-common 5.2.17-0.dotdeb.0
php5-imagick,php5-common 5.2.17-0.dotdeb.0
php5,php5-common 5.3.3-7+squeeze19
php5-xsl,php5-common 5.3.3-7+squeeze19
php5-xmlrpc,php5-common 5.3.3-7+squeeze19
php5-tidy,php5-common 5.3.3-7+squeeze19
php5-sybase,php5-common 5.3.3-7+squeeze19
php5-sqlite,php5-common 5.3.3-7+squeeze19
php5-snmp,php5-common 5.3.3-7+squeeze19
php5-recode,php5-common 5.3.3-7+squeeze19
php5-pspell,php5-common 5.3.3-7+squeeze19
php5-pgsql,php5-common 5.3.3-7+squeeze19
php5-odbc,php5-common 5.3.3-7+squeeze19
php5-mysql,php5-common 5.3.3-7+squeeze19
php5-mcrypt,php5-common 5.3.3-7+squeeze19
php5-ldap,php5-common 5.3.3-7+squeeze19
php5-intl,php5-common 5.3.3-7+squeeze19
php5-interbase,php5-common 5.3.3-7+squeeze19
php5-imap,php5-common 5.3.3-7+squeeze19
php5-gmp,php5-common 5.3.3-7+squeeze19
php5-gd,php5-common 5.3.3-7+squeeze19
php5-enchant,php5-common 5.3.3-7+squeeze19
php5-dev,php5-common 5.3.3-7+squeeze19
php5-dbg,php5-common 5.3.3-7+squeeze19
php5-curl,php5-common 5.3.3-7+squeeze19
php5-cli,php5-common 5.3.3-7+squeeze19
php5-cgi,php5-common 5.3.3-7+squeeze19
php-pear,php5-common 5.3.3-7+squeeze19
libapache2-mod-php5filter,php5-common 5.3.3-7+squeeze19
libapache2-mod-php5,php5-common 5.3.3-7+squeeze19
php5-memcached,php5-common
php5-memcache,php5-common
php5-imagick,php5-common
php5-geoip,php5-common
nagvis,php5-common 5.3.0
Dependencies:
5.3.3-7+squeeze19 - sed (2 4.1.1-1) libc6 (2 2.4) php5-suhosin (0 (null)) php5-json (0 (null)) php5-mhash (0 (null))
5.2.17-0.dotdeb.0 - sed (2 4.1.1-1) libc6 (2 2.7-1) php5-json (0 (null))
Provides:
5.3.3-7+squeeze19 - php5-mhash php5-json
5.2.17-0.dotdeb.0 - php5-json
其中一些列为5.2,但很多都列为PHP 5.3。有问题的包,php5-pgsql确实似乎表明它依赖于php5-common 5.3,而不是5.2。不幸的是,这个项目只能在5.2上运行,所以升级到5.3并不是一个可以接受的解决方案。相反,我需要一种方法来安装php5-pgsql或等效的,同时继续使用PHP 5.2