站長資訊網
        最全最豐富的資訊網站

        CentOS安裝PHP7的正確方法

        CentOS安裝PHP7的正確方法

        CentOS上的PHP版本都十分古老,滿足不了一些框架對PHP版本的要求。于是,出現了許多第三方軟件庫,如EPEL、RPM Fusion、Remi等,這些庫提供了新版的PHP。讓我們的系統能與時俱進。

        但是,第三方軟件庫有幾個缺點:第一,他們提供的軟件沒有經過CentOS官方測試,在安裝軟件的同時,可能會替換掉系統的一些核心文件,造成系統不穩定。第二,第三方庫安裝的軟件可能不保證兼容性,也許對系統升個級就會導致某個軟件沒法使用。

        所以本篇推薦用SCL(Software Collections)軟件庫安裝高版本的PHP。SCL屬于CentOS官方的軟件庫,經過充分測試,安裝軟件時不會替換系統的核心文件,保證了系統的穩定性。

        安裝SCL很簡單,只需一條命令就可以了:

        [root@localhost]# yum install centos-release-scl-rh

        然后就能在yum中搜到新版的PHP了:

        [root@localhost]# yum search php...php54-runtime.x86_64 php55-runtime.x86_64 rh-php56-runtime.x86_64 rh-php70-runtime.x86_64...

        rh- 前綴是RedHat的意思,告訴你這是官方提供的PHP而不是第三方庫提供的。作者猜測這個前綴規范是2015年左右制定的,PHP5.4 & 5.5是在這之前發布的,為了保證你的程序的兼容性(比如你的某些程序里已經寫了yum install php55,加個前綴程序就掛了),就沒帶上rh- 前綴。

        接下來,安裝PHP7.0:

        [root@localhost]# yum install rh-php70

        安裝完之后,PHP實際會安裝在/opt/rh目錄下。

        此時如果你運行php命令,系統依然會提示你command not found。這是因為,SCL的風格就是把軟件對系統的影響減少到最小,甚至安裝完PHP,php命令都不會被添加到 $PATH 變量中,所以你沒法直接執行軟件中的命令的。需要通過 scl enable 命令顯示執行:

        先看看SCL安裝了哪些軟件:

        [root@localhost]# scl -lrh-php70

        可以看到我們在系統安裝了一個rh-php70,先啟用它并執行命令:

        [root@localhost]# scl enable rh-php70 "php -v"PHP 7.0.10 (cli) (built: Nov  3 2016 08:06:03) ( NTS )Copyright (c) 1997-2016 The PHP GroupZend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies

        命令成功執行了。要是每一條命令都要這么執行,太麻煩了!不要緊,你可以不用每次執行一條命令,而是直接執行 bash 命令,那么新開的shell就能自動識別php了:

        [root@localhost]# scl enable rh-php70 bash[root@localhost]# php -vPHP 7.0.10 (cli) (built: Nov  3 2016 08:06:03) ( NTS ) Copyright (c) 1997-2016 The PHP Group Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies  [root@localhost ~]# php -m[PHP Modules] bz2 calendar...

        SCL以 scl enable 方式管理軟件,雖然在使用上增加了一點點的麻煩,但這絕對地保證了系統穩定性。而且這么做還有一個好處:就是系統上可以多個PHP版本共存而互相不沖突。方便你測試代碼或者框架,在各個版本PHP上的兼容性。

        總之,要做一個嚴謹的運維,本篇還是十分推薦用SCL管理你系統上的軟件。

        CentOS上的PHP版本都十分古老,滿足不了一些框架對PHP版本的要求。于是,出現了許多第三方軟件庫,如EPEL、RPM Fusion、Remi等,這些庫提供了新版的PHP。讓我們的系統能與時俱進。

        但是,第三方軟件庫有幾個缺點:第一,他們提供的軟件沒有經過CentOS官方測試,在安裝軟件的同時,可能會替換掉系統的一些核心文件,造成系統不穩定。第二,第三方庫安裝的軟件可能不保證兼容性,也許對系統升個級就會導致某個軟件沒法使用。

        所以本篇推薦用SCL(Software Collections)軟件庫安裝高版本的PHP。SCL屬于CentOS官方的軟件庫,經過充分測試,安裝軟件時不會替換系統的核心文件,保證了系統的穩定性。

        安裝SCL很簡單,只需一條命令就可以了:

        [root@localhost]# yum install centos-release-scl-rh

        然后就能在yum中搜到新版的PHP了:

        [root@localhost]# yum search php...php54-runtime.x86_64 php55-runtime.x86_64 rh-php56-runtime.x86_64 rh-php70-runtime.x86_64...

        rh- 前綴是RedHat的意思,告訴你這是官方提供的PHP而不是第三方庫提供的。作者猜測這個前綴規范是2015年左右制定的,PHP5.4 & 5.5是在這之前發布的,為了保證你的程序的兼容性(比如你的某些程序里已經寫了yum install php55,加個前綴程序就掛了),就沒帶上rh- 前綴。

        接下來,安裝PHP7.0:

        [root@localhost]# yum install rh-php70

        安裝完之后,PHP實際會安裝在/opt/rh目錄下。

        此時如果你運行php命令,系統依然會提示你command not found。這是因為,SCL的風格就是把軟件對系統的影響減少到最小,甚至安裝完PHP,php命令都不會被添加到 $PATH 變量中,所以你沒法直接執行軟件中的命令的。需要通過 scl enable 命令顯示執行:

        先看看SCL安裝了哪些軟件:

        [root@localhost]# scl -lrh-php70

        可以看到我們在系統安裝了一個rh-php70,先啟用它并執行命令:

        [root@localhost]# scl enable rh-php70 "php -v"PHP 7.0.10 (cli) (built: Nov  3 2016 08:06:03) ( NTS )Copyright (c) 1997-2016 The PHP GroupZend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies

        命令成功執行了。要是每一條命令都要這么執行,太麻煩了!不要緊,你可以不用每次執行一條命令,而是直接執行 bash 命令,那么新開的shell就能自動識別php了:

        [root@localhost]# scl enable rh-php70 bash[root@localhost]# php -vPHP 7.0.10 (cli) (built: Nov  3 2016 08:06:03) ( NTS ) Copyright (c) 1997-2016 The PHP Group Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies  [root@localhost ~]# php -m[PHP Modules] bz2 calendar...

        SCL以 scl enable 方式管理軟件,雖然在使用上增加了一點點的麻煩,但這絕對地保證了系統穩定性。而且這么做還有一個好處:就是系統上可以多個PHP版本共存而互相不沖突。方便你測試代碼或者框架,在各個版本PHP上的兼容性。

        總之,要做一個嚴謹的運維,本篇還是十分推薦用SCL管理你系統上的軟件。

        推薦教程:《php視頻教程》

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 国产欧美精品一区二区三区| 88国产精品欧美一区二区三区| 国产成人精品一区二区三区免费| 久久精品国产亚洲精品2020| 精品久久久久久无码人妻蜜桃| 亚洲av永久无码精品秋霞电影影院| 国产精品亚洲欧美大片在线观看| 国产精品久久99| 久久影院综合精品| 亚洲精品国产成人影院| 国产亚洲精品线观看动态图| 国产精品爽爽va在线观看网站| 精品国产乱码久久久久久郑州公司 | 久久影院综合精品| 亚洲а∨天堂久久精品9966| 国产日韩久久久精品影院首页| 真实国产乱子伦精品免费| 国产精品爱啪在线线免费观看| 国产精品无套内射迪丽热巴| 久久精品www人人爽人人| 亚洲高清专区日韩精品| 亚洲精品无码激情AV| 亚洲AV永久无码精品一区二区| 日韩欧美国产精品第一页不卡| 精品熟女少妇aⅴ免费久久| 国产精品高清2021在线 | 日韩精品无码免费视频| 久久人人超碰精品CAOPOREN| 久久精品中文字幕第23页| 国产亚洲精品自在线观看| 国产精品久久久久一区二区三区| 2021国产三级精品三级在专区| 国产精品美女久久久久网| 国产精品视频分类一区| 久久777国产线看观看精品| 国产精品www| 2021国产精品视频网站| 国产福利电影一区二区三区,亚洲国模精品一区 | 2021久久精品国产99国产精品| 老司机午夜精品视频资源| 日韩精品无码AV成人观看|