亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Ubuntu 16.04下安裝PHP 7過程詳解

 更新時間:2017年03月28日 09:13:03   作者:HFX  
這篇文章主要給大家介紹了在Ubuntu 16.04系統(tǒng)下安裝PHP 7的全過程,文中介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考價值,需要的朋友們下面來一起看看吧。

前言

最近由于換了硬盤重裝了(升級)系統(tǒng)到Ubuntu16.04之后,開發(fā)環(huán)境也要重新安裝,其實16.04源里面默認(rèn)的PHP版本就是7.x,但是有個問題就是沒有OCI擴(kuò)展,有項目需要使用到Oracle數(shù)據(jù)庫。

準(zhǔn)備編譯環(huán)境

由于全部編譯太過于繁瑣,而且很多依賴會有問題,所以我們選擇另外一種方案,能使用apt-get安裝都使用apt-get安裝。不能使用apt-get才自己編譯,這樣可以節(jié)省大量的時間。因為有的依賴真的是很頭疼。

由于在Ubuntu16.04上,默認(rèn)的PHP版本就是7.x。由于我們要使用Apache2.4+PHP,所以安裝如下模塊即可直接解析PHP。

sudo apt-get install php-dev libapache2-mod-php

這樣最基本的模塊就安裝好了,如果還需要其他的模塊,可以通過apt-get快捷安裝;比如還需要MySQL和mb_string相關(guān)的模塊。

sudo apt-get install php-mysql php-mbstring

這樣就會自動安裝好相關(guān)的模塊。

安裝Oracle Client

由于要編譯OCI擴(kuò)展,我們需要Oracle客戶端,這里我們下載Oracle Instant Client,選擇Instant Client for Linux x86-64 basic版本下載。

另外要編譯OCI必須還需要instant client SDK 包,下載解壓之后合并到Base。

給出的網(wǎng)頁最后面也有安裝步驟,這里簡述一下

  • 解壓zip包,放置到某個目錄下
  • 為當(dāng)前版本的Instant Client創(chuàng)建合適的鏈接
  • 設(shè)置環(huán)境變量
sudo unzip instantclient-basic-linux.x64-12.1.0.2.0.zip
sudo unzip instantclient-sdk-linux.x64-12.1.0.2.0.zip
sudo mv instantclient_12_1/ /opt/oracle/
cd /opt/oracle/instantclient_12_1/
# 建立符號鏈接
sudo ln -s libclntsh.so.12.1 libclntsh.so
sudo ln -s libocci.so.12.1 libocci.so
# 打開 /etc/profile 在最后面加入
export LD_LIBRARY_PATH=/opt/oracle/instantclient_12_1:$LD_LIBRARY_PATH
export PATH=/opt/oracle/instantclient_12_1:$PATH
# 最后source一下,使配置生效
source /etc/profile

下載PHP源碼

首先我們要確定已經(jīng)安裝的PHP的版本,由于使用apt-get安裝,版本可能不是PHP官網(wǎng)放的最新的版本,使用下面的 命令既可查看

php -v

發(fā)現(xiàn)我的安裝的版本是7.0.4,那么我們對應(yīng)的下載PHP-7.0.4版本的源碼。

兩種方式可以下載到源碼。

  1. 從官網(wǎng)下載源碼包
  2. 從GitHub 倉庫 clone

官網(wǎng)下載源碼很簡單,打開php.net的Download頁面,選擇要下載的版本?;蛘邚腉itHub倉庫clone指定版本(或者先clone再checkout想要的版本),如

git clone -b PHP-7.0.4 https://github.com/php/php-src && cd php-src

編譯OCI8/PDO_OCI

經(jīng)過如上的步驟我們已經(jīng)進(jìn)入到下載的PHP源碼根目錄了,那么我們開始編譯。

編譯oci8

進(jìn)入到擴(kuò)展oci8的源碼目錄,使用phpize

cd ext/oci8
phpize
./configure --with-oci8=instantclient,/opt/oracle/instantclient_12_1
sudo make

執(zhí)行完上面的步驟,應(yīng)該會生成一個modules文件夾,里面就有我們想要的extension。

編譯pdo_oci

步驟和編譯oci8是一樣的,但是configure參數(shù)不一樣,所以還是寫一下。

cd ../../ext/pdo_oci
phpize
# 最后面要指定版本號
./configure --with-pdo-oci=instantclient,/opt/oracle/instantclient_12_1,12.1
sudo make

結(jié)果也和上面一樣。

使用我們編譯的擴(kuò)展

首先我們要知道現(xiàn)行PHP的ext目錄在哪里

php -i | grep "extension_dir"

我這里顯示的是extension_dir => /usr/lib/php/20151012 => /usr/lib/php/20151012,那么我們先把我們編譯的擴(kuò)展復(fù)制到/usr/lib/php/20151012

# 先進(jìn)入對應(yīng)的modules目錄下
cp oci8.so /usr/lib/php/20151012
cp pdo_oci.so /usr/lib/php/20151012

然后我們還要在php.ini中添加相關(guān)配置項,首先也要知道php.ini的位置

p -i | grep "Configuration File"

打印出了如下信息

Configuration File (php.ini) Path => /etc/php/7.0/cli
Loaded Configuration File => /etc/php/7.0/cli/php.ini

這樣我們就知道了php.ini的位置,但是這個是CLI(命令行接口)的配置文件,我們需要使用Apache的(CGI)。我們到目錄/etc/php/7.0/下發(fā)現(xiàn)還有一個名為apache2的目錄,里面也有php.ini文件,那么我們編輯apache2目錄下的php.ini

sudo vim php.ini

在里面加入

extension=oci8.so
extension=pdo_oci.so

最后重啟Apache

systemctl restart apache2.service

查看一下phpinfo()發(fā)現(xiàn)OCI和PDO_OCI均已安裝。到這里安裝已經(jīng)全部完成了。

Linux小技巧

在安裝和查資料的過程中發(fā)現(xiàn)了一下很實用的命令,也把它們記錄下來。

# 重啟某個服務(wù)
sudo systemctl restart apache2.service
# 查看某個服務(wù)的狀態(tài)
sudo systemctl status apache2.service
# 查看php相關(guān)的模塊(其他的類似)
apt-cache search php- | less
# 具體查看某個模塊的詳細(xì)信息
apt-cache show package_name

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

  • php 全文搜索和替換的實現(xiàn)代碼

    php 全文搜索和替換的實現(xiàn)代碼

    方便替換和全文索引
    2008-07-07
  • php版微信小店API二次開發(fā)及使用示例

    php版微信小店API二次開發(fā)及使用示例

    這篇文章主要介紹了php版微信小店API二次開發(fā)及使用方法,結(jié)合實例形式分析了針對微信小店API的調(diào)用及使用方法,需要的朋友可以參考下
    2016-11-11
  • php實現(xiàn)改變圖片直接打開為下載的方法

    php實現(xiàn)改變圖片直接打開為下載的方法

    這篇文章主要介紹了php實現(xiàn)改變圖片直接打開為下載的方法,涉及php操作圖片下載的技巧,非常具有實用價值,需要的朋友可以參考下
    2015-04-04
  • PHP使用正則表達(dá)式獲取微博中的話題和對象名

    PHP使用正則表達(dá)式獲取微博中的話題和對象名

    這篇文章主要介紹了PHP使用正則表達(dá)式獲取微博中的話題和對象名,涉及php正則匹配與字符串操作的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • PHP使用finfo_file()函數(shù)檢測上傳圖片類型的實現(xiàn)方法

    PHP使用finfo_file()函數(shù)檢測上傳圖片類型的實現(xiàn)方法

    這篇文章主要介紹了PHP使用finfo_file()函數(shù)檢測上傳圖片類型的實現(xiàn)方法,結(jié)合實例形式分析了finfo_file()函數(shù)的功能、使用方法及相關(guān)注意事項,需要的朋友可以參考下
    2017-04-04
  • 五個PHP程序員工具

    五個PHP程序員工具

    PHP程序員都應(yīng)該知道的工具在參與了幾個大型PHP項目,寫了很多PHP代碼以后,我發(fā)現(xiàn)很多工具可以提高代碼質(zhì)量,簡化發(fā)布,使得做為PHP開發(fā)人員的生涯變得輕松許多。許多這樣的工具可能已經(jīng)為大家所用。但是,由于一些人甚至沒有注意到這些工具的存在,我會從此開始,好了,不說廢話,下面是我認(rèn)為所有PHP程序員應(yīng)該知道的工具列表。
    2008-05-05
  • php生成excel文件的簡單方法

    php生成excel文件的簡單方法

    生成excel文件,最簡單的莫過于把數(shù)據(jù)庫的數(shù)據(jù)導(dǎo)入到excel就行了,下面有個不錯的示例,大家可以參考下
    2014-02-02
  • PHP使用curl_multi_select解決curl_multi網(wǎng)頁假死問題的方法

    PHP使用curl_multi_select解決curl_multi網(wǎng)頁假死問題的方法

    這篇文章主要介紹了PHP使用curl_multi_select解決curl_multi網(wǎng)頁假死問題的方法,結(jié)合實例形式分析了使用curl_multi的過程中并發(fā)處理事務(wù)導(dǎo)致cpu占用率過高時的解決方法,需要的朋友可以參考下
    2018-08-08
  • PHP如何獲取Cookie并實現(xiàn)模擬登錄

    PHP如何獲取Cookie并實現(xiàn)模擬登錄

    這篇文章主要介紹了PHP如何獲取Cookie并實現(xiàn)模擬登錄,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-07-07
  • PHP實現(xiàn)的抓取小說網(wǎng)站內(nèi)容功能示例

    PHP實現(xiàn)的抓取小說網(wǎng)站內(nèi)容功能示例

    這篇文章主要介紹了PHP實現(xiàn)的抓取小說網(wǎng)站內(nèi)容功能,涉及php頁面抓取、正則匹配、文件讀寫等相關(guān)操作技巧,需要的朋友可以參考下
    2019-06-06

最新評論