Linux
如何在 CentOS 中使用 yum 升級到最新的 PHP 版本?
我發現了一些關於此的部落格文章,但它相當缺乏對可能的副作用的描述。
我真的可以在這些步驟上使用一些詳細資訊:
- 如何將提供 PHP 5.4 的儲存庫添加到 yum
- 這可以無縫替換 CentOS 中目前的 PHP 版本嗎?
- 當它支持 PHP 5.4 時,如何切換回官方 repo?(我係統中的目前 5.3.3)
- 是否有可能破壞我目前使用的 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.rpm
到epel-release-6-8.noarch.rpm
。
- 如何將提供 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
- *這可以無縫替換 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
- *當它支持 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
- *是否有可能破壞 PHP 模組?$$ sic $$目前使用?*是的。使用最新版本的 CentOS(6.2?)並使用 Zend 安裝程序安裝 Zend,上述升級破壞了 Zend。
以上所有命令均以
root
. 最佳做法是以非特權使用者身份登錄並使用sudo
. (這是一個具有目前快照的開發虛擬機……)另外,不要預設啟用 Remi 儲存庫 - 過去我很聰明並預設啟用它並且事情壞了,即使儲存庫優先級也是如此。