我需要在服务器上降级 php,并找到了以下命令。语法似乎有问题。
yum downgrade $(rpm -qa --qf "%{NAME} " | \
grep -v ioncube | grep ^php | awk '{print $1"-5.2.17"}')
我收到以下错误消息:
Error: Need to pass a list of pkgs to downgrade
usage: yum [options] COMMAND
答案1
我认为您使命令行变得太复杂了:
sudo yum downgrade php-*
但我不认为这能让你得到你想要的东西。
答案2
我的情况可能有点特殊,但以下方法对我有用。我相信有更好的方法,但是……
我添加了原子 repo。wget -qq -O -http://www.atomicorp.com/installers/atomic| /bin/bash
将所有已安装的程序发送到一个文件。rpm -qa --qf "%{NAME}">已安装
将结果过滤到一个新文件中,其中只包含我需要的应用程序。grep -v 命令没有像我想象的那样工作。我需要排除 phpioncube,我以为 -v 可以做到这一点,但它仍然显示了该文件。我手动删除了它。grep -v ioncube installed |grep php installed>phpapps
我知道我想要降级到的具体版本,所以我将它附加到每个软件包名称并运行以下命令。 yum 降级安装 php-pdo-5.2.17-1.el6.art.x86_64 php-pecl-memcached-5.2.17-1.el6.art.x86_64 php-xml-5.2.17-1.el6.art.x86_64 php-pecl-memcache-5.2.17-1.el6.art.x86_64 php-5.2.17-1.el6.art.x86_64 php-pear-5.2.17-1.el6.art.x86_64 php-mcrypt-5.2.17-1.el6.art.x86_64 php-xmlrpc-5.2.17-1.el6.art.x86_64 php-snmp-5.2.17-1.el6.art.x86_64 php-odbc-5.2.17-1.el6.art.x86_64 php-ldap-5.2.17-1.el6.art.x86_64 php-common-5.2.17-1.el6.art.x86_64 php-mysql-5.2.17-1.el6.art.x86_64 php-gd-5.2.17-1.el6.art.x86_64 php-mbstring-5.2.17-1.el6.art.x86_64 php-cli-5.2.17-1.el6.art.x86_64 php-devel-5.2.17-1.el6.art.x86_64 php-pecl-zip-5.2.17-1.el6.art.x86_64 php-imap-5.2.17-1.el6.art.x86_64 php-ncurses-5.2.17-1.el6.art.x86_64 php-mhash-5.2.17-1.el6.art.x86_64
这让我得到了我所需要的东西。