我有一台 Virtuozzo VPS,在 CentOS 4.4 上运行 Plesk 8.x,我想在上面安装最新的 PHP 5.3 版本。理想情况下,我希望同时运行 4 和 5,但如果必须的话,我只会运行 5。
(请注意,Plesk 运行两个 Apache/PHP 实例 - 一个用于控制面板,另一个用于服务客户端站点 - 并且我希望升级客户端实例,而不是控制面板实例)
我已经从http://www6.atomicorp.com/channels/atomic/centos/4/i386/RPMS/,但是当我尝试安装它们时出现此错误:
[root@hq phprpm]# rpm -i *.rpm 警告:php-5.3.6-3.el4.art.i386.rpm:V3 DSA 签名:NOKEY,密钥 ID 5ebd2744 php-common-5.3.6-3.el4.art 安装中的文件 /etc/php.ini 与软件包 php-4.3.9-3.18.1.swsoft 中的文件冲突 php-cli-5.3.6-3.el4.art 安装中的文件 /usr/bin/php 与软件包 php-4.3.9-3.18.1.swsoft 中的文件冲突 php-cli-5.3.6-3.el4.art 安装中的文件 /usr/bin/phpize 与软件包 php-devel-4.3.9-3.18.1.swsoft 中的文件冲突 php-5.3.6-3.el4.art 安装中的文件 /etc/httpd/conf.d/php.conf 与软件包 php-4.3.9-3.18.1.swsoft 中的文件冲突 php-5.3.6-3.el4.art 安装中的文件 /var/www/icons/php.gif 与软件包 php-4.3.9-3.18.1.swsoft 中的文件冲突
我如何将 PHP5 文件安装在与 PHP4 文件不同的位置?由于它不在默认位置,我需要调整哪些设置?
如果我尝试升级 PHP4 而不是同时安装 PHP5,则会收到此错误:
[root@hq phprpm]# rpm -Uvh php-*.rpm 警告:php-5.3.6-3.el4.art.i386.rpm:V3 DSA 签名:NOKEY,密钥 ID 5ebd2744 错误:依赖项失败: php = 4.3.9-3.18.1.swsoft 是(已安装)php-domxml-4.3.9-3.18.1.swsoft.i386 所必需的 php = 4.3.9-3.18.1.swsoft 是(已安装)php-gd-4.3.9-3.18.1.swsoft.i386 所必需的 php = 4.3.9-3.18.1.swsoft 是(已安装)php-imap-4.3.9-3.18.1.swsoft.i386 所必需的 php = 4.3.9-3.18.1.swsoft 是(已安装)php-mbstring-4.3.9-3.18.1.swsoft.i386 所必需的 php = 4.3.9-3.18.1.swsoft 是(已安装)php-mysql-4.3.9-3.18.1.swsoft.i386 所必需的 php = 4.3.9-3.18.1.swsoft 是(已安装)php-pear-4.3.9-3.18.1.swsoft.i386 所必需的 php = 4.3.9-3.18.1.swsoft 是(已安装)php-devel-4.3.9-3.18.1.swsoft.i386 所必需的 php = 4.3.9-3.18.1.swsoft 是(已安装)php-ldap-4.3.9-3.18.1.swsoft.i386 所必需的 php = 4.3.9-3.18.1.swsoft 是(已安装)php-odbc-4.3.9-3.18.1.swsoft.i386 所必需的 php = 4.3.9-3.18.1.swsoft 是(已安装)php-pgsql-4.3.9-3.18.1.swsoft.i386 所必需的 php = 4.3.9-3.18.1.swsoft 是(已安装)php-snmp-4.3.9-3.18.1.swsoft.i386 所必需的 php = 4.3.9-3.18.1.swsoft 是(已安装)php-xmlrpc-4.3.9-3.18.1.swsoft.i386 所必需的
失败是因为 Plesk 推出了他们自己的 PHP 版本。我尝试使用 RPM --nodeps 解决这个问题,但出现了以下错误:
[root@hq phprpm]# rpm -Uvh php*.rpm --nodeps 警告:php-5.3.6-3.el4.art.i386.rpm:V3 DSA 签名:NOKEY,密钥 ID 5ebd2744 准备中...############################################# [100%] php-cli-5.3.6-3.el4.art 安装中的文件 /usr/bin/phpize 与软件包 php-devel-4.3.9-3.18.1.swsoft 中的文件冲突
如果我尝试卸载 php4 以便安装 php5,我会收到此错误:
[root@hq phprpm]# rpm -e --test php-4.3.9-3.18.1.swsoft php-gd-4.3.9-3.18.1.swsoft php-mbstring-4.3.9-3.18.1.swsoft php-devel-4.3.9-3.18.1.swsoft php-ncurses-4.3.9-3.18.1.swsoft php-pgsql-4.3.9-3.18.1.swsoft php-xmlrpc-4.3.9-3.18.1.swsoft php-domxml-4.3.9-3.18.1.swsoft php-imap-4.3.9-3.18.1.swsoft php-mysql-4.3.9-3.18.1.swsoft php-pear-4.3.9-3.18.1.swsoft php-ldap-4.3.9-3.18.1.swsoft php-odbc-4.3.9-3.18.1.swsoft php-snmp-4.3.9-3.18.1.swsoft 错误:依赖项失败: php 需要(已安装)psa-prevztune-8.1.0-17.swsoft.81563.noarch 已安装的 ZendOptimizer-3.0.1-1.swsoft.i386 需要 php >= 4.2 php 需要(已安装)psa-php4-configurator-1.4.0-cos4.build86080722.02.noarch /usr/bin/php 是(已安装的)psa-horde-3.1.7-cos4.build86080722.02.noarch 所必需的 php-gd 是(已安装)psa-php4-configurator-1.4.0-cos4.build86080722.02.noarch 所必需的 php-mbstring 是(已安装)psa-php4-configurator-1.4.0-cos4.build86080722.02.noarch 所必需的 php-domxml 是(已安装)psa-php4-configurator-1.4.0-cos4.build86080722.02.noarch 所需要的 php-imap 需要(已安装)psa-php4-configurator-1.4.0-cos4.build86080722.02.noarch php-mysql 需要(已安装)psa-php4-configurator-1.4.0-cos4.build86080722.02.noarch
请记住,Virtuozzo VPS 默认没有安装 yum —— 而且我听说让它运行起来很麻烦 —— 因此我希望通过 RPM 来完成所有操作。
我已经检查了 Server Fault 上的相关问题,但它们没有解决这个特定的错误,而且我在 Google 上也没有找到任何有用的信息。
答案1
我最终只是使用 rpm -e --nodeps 删除了旧的 PHP 包,然后使用 rpm -ivh --nodeps 安装新的包,这样就成功了。
答案2
只需通过 yum 安装它。“yum search php”应该是一个 php5 选项或安装一个有它的 repo。