




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第Ubuntu中支持PHP5與PHP7雙版本的簡單實現(xiàn)前言
最近在編寫一個工具的時候,使用了PHP命名空間特性,在命名空間中如果想引用常量、函數(shù),需要PHP5.6以上的版本,但我阿里云ECS上安裝的版本是PHP5.5.9,由于ECS部署了很多PHP代碼,如果貿(mào)然升級高版本PHP,可能會存在一些兼容性的問題。突然奇想,在同一個操作系統(tǒng)中,是否能夠同時支持兩個版本的PHP呢?
簡單查閱了相關資料,其實在Ubuntu中使用包安裝方式支持PHP雙版本非常簡單,兩個版本存在能夠互不干擾,接下去簡單做下介紹,其實相關文章很多。
1:獲取PHP7源
我的操作系統(tǒng)版本是Ubuntu14.04.5LTS,默認的PHP源是5.5.9版本,可以使用下列的命令確認:
$aptshowphp
為了獲取各個版本的PHP源,
在Ubuntu官方的PPA包含了很多軟件的源,為了支持PPA包,可以采用add-apt-repository命令行安裝,如果該工具沒安裝,可以運行下列命令安裝:
$aptinstallpython-software-properties
簡單理解下add-apt-repository工具,該工具的作用如下:
Addsarepositoryintothe/etc/apt/sources.listor/etc/apt/sources.list.dorremovesanexistingone
也就是說無需你手動修改/etc/apt/sources.list,就能夠通過該工具添加源。
為了支持多版本的PHP的源,運行如下命令:
$add-apt-repositoryppa:ondrej/php
運行完成后,實際上/etc/apt/sources.list.d/ondrej-php-trusty.list文件更新了。
2:更新系統(tǒng)
添加源后,需要運行下列命令更新系統(tǒng),然后再安裝各個PHP版本。
$apt-getupdate-y
3:安裝PHP7.1
接下去看看目前有多少個PHP版本可以安裝。
$apt-cachepkgnames|grepphp7
關鍵輸出如下:
php7.0-fpm
php7.1-fpm
php7.2-fpm
libapache2-mod-php7.0
libapache2-mod-php7.1
libapache2-mod-php7.2
也就是支持兩種SAPI,我主要使用Nginx+FPM的方式,也可以看出目前支持三個版本的PHP7。
我主要想使用命令行PHP7版本,順帶也想著把FPM安裝上,運行如下命令了解詳細信息:
$apt-cachedependsphp7.1-fpm
Depends:php7.1-cli
Depends:php7.1-common
Depends:php7.1-json
Depends:php7.1-opcache
可見php7.1-fpm也包含了命令行PHP(php7.1-cli),接下去安裝:
$apt-getinstallphp7.1-fpmphp7.1-curl
3:觀察安裝后的文件
運行如下命令,觀察php7.1-fpm安裝了哪些文件。
$dpkg-Lphp7.1-fpm
關鍵輸出如下:
/usr/sbin/php-fpm7.1
/etc/php/7.1/fpm/php-fpm.conf
/etc/apache2/conf-available/php7.1-fpm.conf
可以看出,你可以運行一個PHP7版本的FPM服務,和/etc/php5/fpm/php-fpm.conf使用的配置文件是互相隔離的,我的網(wǎng)站和就使用了兩個版本的FPM。
接下去查看php7.1-cli安裝了哪些文件,這是我最關心的。
$dpkg-Lphp7.1-cli
關鍵輸出如下:
/usr/bin/php7.1
4:如何切換兩個PHP版本
對于命令行來說,兩個版本的地址如下:
/usr/bin/php7.1
/usr/bin/php5
難道運行不同版本的時候,使用完整路徑?其實可以使用update-alternatives工具配置默認項運行的PHP版本。
$update-alternatives--setphp/usr/bin/php7.1
這樣運行php-v就相當于運行/usr/bin/php7.1-v,如果想使用PHP5版本,可以運行下列命令切換:
$update-
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 車外殼配件采購合同協(xié)議
- 損失賠償協(xié)議書協(xié)議書
- 社會學與文化研究試題集萃
- 《課程教學導論》課件
- 專家顧問聘用合同協(xié)議
- 旅游占地協(xié)議書
- 轉讓泡沫加工合同協(xié)議
- 退休人員用用工合同協(xié)議
- 日本休戰(zhàn)協(xié)議書
- 足浴按摩店勞務合同協(xié)議
- 口腔科各項規(guī)章制度
- 傳染病的預防和醫(yī)院感染的防控
- 年加工2萬噸再生鋁項目可行性研究報告建議書
- 第20課 《飛奪瀘定橋》說課稿-2024-2025學年統(tǒng)編版語文(五四學制)六年級上冊
- 眼科手術的安全管理
- 保安公司戰(zhàn)略發(fā)展規(guī)劃
- 【MOOC】外國教育史-河南大學 中國大學慕課MOOC答案
- 抗腫瘤藥物管理工作組成員及職責
- 2024年遼寧省中考生物真題卷及答案解析
- 第47屆世界技能大賽江蘇省選拔賽計算機軟件測試項目技術工作文件
- 2024年湖南高考真題化學試題(解析版)
評論
0/150
提交評論