Linux

如何在 CentOS 中使用 yum 升級到最新的 PHP 版本?

  • June 7, 2016

我發現了一些關於此的部落格文章,但它相當缺乏對可能的副作用的描述。

我真的可以在這些步驟上使用一些詳細資訊:

  1. 如何將提供 PHP 5.4 的儲存庫添加到 yum
  2. 這可以無縫替換 CentOS 中目前的 PHP 版本嗎?
  3. 當它支持 PHP 5.4 時,如何切換回官方 repo?(我係統中的目前 5.3.3)
  4. 是否有可能破壞我目前使用的 PHP 模組?

筆記

人們在較新版本上使用相同的方法成功升級,並建議刪除問題中的特定版本。雖然最好確定版本以防新版本確實破壞了某些東西,但我想保留社區建議的最新成功版本作為註釋。

如果您已在其他版本上成功升級,請隨時更新。

  • PHP 版本:5.4、5.5、5.6
  • CentOS 版本:5、6

我按照在 Fedora 17/16、CentOS/RHEL 6.3/5.8 上安裝 Apache/PHP 5.4.10 中的說明稍作修改。大概花了10分鐘。我的確切命令如下所示。請注意,必須從文章中顯示的內容更改第一個命令。變化是從epel-release-6-7.noarch.rpmepel-release-6-8.noarch.rpm

  1. 如何將提供 PHP 5.4 的 repo 添加到 yum 中?
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
yum install http://rpms.remirepo.net/enterprise/remi-release-6.rpm
  1. *這可以無縫替換 CentOS 中目前的 PHP 版本嗎?*對我來說,以下命令有效,我現有的 PHP 網頁都沒有損壞。你的旅費可能會改變。
yum --enablerepo=remi install httpd php php-common
yum --enablerepo=remi install php-pecl-apc php-cli php-pear php-pdo php-mysql php-pgsql php-pecl-mongo php-sqlite php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml
service httpd restart
  1. *當它支持 PHP5.4 時,如何切換回官方 repo?*我還沒有測試從 CentOS 儲存庫中刪除和重新安裝 PHP 的命令,但是這些應該可以工作。
# Remove the Remi packages. Note the reversed command order
yum remove php-pecl-apc php-cli php-pear php-pdo php-mysql php-pgsql php-pecl-mongo php-sqlite php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml
yum  remove httpd php php-common
# Install the CentOS packages. 
yum install httpd php php-common
yum install php-pecl-apc php-cli php-pear php-pdo php-mysql php-pgsql php-pecl-mongo php-sqlite php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml
  1. *是否有可能破壞 PHP 模組?$$ sic $$目前使用?*是的。使用最新版本的 CentOS(6.2?)並使用 Zend 安裝程序安裝 Zend,上述升級破壞了 Zend。

以上所有命令均以root. 最佳做法是以非特權使用者身份登錄並使用sudo. (這是一個具有目前快照的開發虛擬機……)

另外,不要預設啟用 Remi 儲存庫 - 過去我很聰明並預設啟用它並且事情壞了,即使儲存庫優先級也是如此。

引用自:https://serverfault.com/questions/456968