将 Plesk 服务器升级到 PHP 5.3.x

将 Plesk 服务器升级到 PHP 5.3.x

我有一台 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。

相关内容