如何将PHP 5.5降级到5.4或5.3

我有服务器运行centos 6,我最近升级了服务器上的PHP到5.5版本,并注意到我使用的laravel框架中的一些脚本正在打破。 我得到这个错误

Parse error: syntax error, unexpected 'yield' (T_YIELD), expecting '(' in /var/www/vhosts/jpischolarship.com/httpdocs/laravel/helpers.php on line 563 

在做了一些研究之后,我发现我使用的框架有一个名为“yield”的方法,现在它是php 5.5中的保留关键字。

我如何降级我当前的PHP安装到以前的版本? 我曾尝试“ yum downgrade php ”没有运气。 我得到以下输出

 Loaded plugins: fastestmirror, priorities Setting up Downgrade Process Loading mirror speeds from cached hostfile epel/metalink | 13 kB 00:00 * base: s2plmirror02.prod.sdl2.secureserver.net * epel: dl.fedoraproject.org * extras: s2plmirror02.prod.sdl2.secureserver.net * updates: s2plmirror02.prod.sdl2.secureserver.net base | 3.7 kB 00:00 c5-testing | 3.0 kB 00:00 extras | 3.5 kB 00:00 updates | 3.5 kB 00:00 Resolving Dependencies There are unfinished transactions remaining. You might consider running yum-comp lete-transaction first to finish them. The program yum-complete-transaction is found in the yum-utils package. --> Running transaction check ---> Package php.x86_64 0:5.3.3-22.el6 will be a downgrade --> Processing Dependency: php-common(x86-64) = 5.3.3-22.el6 for package: php-5. 3.3-22.el6.x86_64 --> Processing Dependency: php-cli(x86-64) = 5.3.3-22.el6 for package: php-5.3.3 -22.el6.x86_64 ---> Package php.x86_64 0:5.5.0-0.25.beta3.el6.remi will be erased --> Finished Dependency Resolution Error: Package: php-5.3.3-22.el6.x86_64 (base) Requires: php-common(x86-64) = 5.3.3-22.el6 Installed: php-common-5.5.0-0.25.beta3.el6.remi.x86_64 (@remi-test) php-common(x86-64) = 5.5.0-0.25.beta3.el6.remi Available: php-common-5.3.3-22.el6.x86_64 (base) php-common(x86-64) = 5.3.3-22.el6 Error: Package: php-5.3.3-22.el6.x86_64 (base) Requires: php-cli(x86-64) = 5.3.3-22.el6 Installed: php-cli-5.5.0-0.25.beta3.el6.remi.x86_64 (@remi-test) php-cli(x86-64) = 5.5.0-0.25.beta3.el6.remi Available: php-cli-5.3.3-22.el6.x86_64 (base) php-cli(x86-64) = 5.3.3-22.el6 You could try using --skip-broken to work around the problem You could try running: rpm -Va --nofiles --nodigest 

你需要运行:

  "sudo yum downgrade php php-common php-cli" 

不同的方式CentOS从primefaces回购的PHP。 因为在primefaces上没有旧的5.3,你需要一个不同的回购。 我使用了http://webtatic.com

安装回购:

rpm -Uvh http://mirror.webtatic.com/yum/centos/5/latest.rpm

安装gpg-key:

rpm --import http://repo.webtatic.com/yum/RPM-GPG-KEY-webtatic-andy

编辑primefaces回购:

vi /etc/yum.repos.d/atomic.repo

添加PHP排除primefaces:

 [atomic] exclude=php,php-common,php-* 

编辑webtactic回购:

vi /etc/yum.repos.d/webtatic.repo

更改回购设置:

 [webtactic] enabled=1 

现在降级php:

yum downgrade php, php-*

为我工作。