php-fpm 編譯安裝

php-fpm編譯安裝

- 啟用模塊
[extensions]
extension=raphf.so
extension=propro.so
extension=http.so
extension=curl.so
extension=mcrypt.so
extension=openssl.so
extension=redis.so
extension=sockets.so
extension=gettext.so
extension=exif.so
extension=gd.so

[messages]
extension=pcntl.so

[zend extensions]
zend_extension=opcache.so
安裝腳本
#!/bin/bash
# leebor
# 2017-10-31
# install php7
# v1.0

DOWN_DIR='/data/downloads'
INSTALL_DIR='/opt/php7'
EXT_DIR='/tmp/php-7.1.11/ext/'
UNZIP_DIR='/tmp/php-7.1.11'



if [ ! -f /data/downloads ];then
    mkdir -p /data/downloads
fi

yum install -y libxml2 libxml2-devel curl-devel


# install php-fpm mbstring.so bcmath --enable-mysqlnd
function Install_php() {
    wget -P $DOWN_DIR http://cn2.php.net/distributions/php-7.1.11.tar.gz
    if [ $? -eq 0 ];then
        cd $DOWN_DIR
        tar -zxf $DOWN_DIR/php-7.1.11.tar.gz -C /tmp/
    fi
    if [ $? -eq 0 ];then
        cd /tmp/php-7.1.11
        ./configure --prefix=$INSTALL_DIR --enable-mbstring  --enable-fpm --enable-bcmath --enable-mysqlnd --with-mysql --with-pdo-mysql --enable-zip --with-zlib --with-config-file-path=$INSTALL_DIR/etc/
        if [ $? -eq 0 ];then
            make
            make install
        fi
        cp php.ini-production $INSTALL_DIR/etc/php.ini
        cp /opt/php7/etc/php-fpm.conf.default /opt/php7/etc/php-fpm.conf
        cp $INSTALL_DIR/etc/php-fpm.d/www.conf.default $INSTALL_DIR/etc/php-fpm.d/www.conf
        echo "[extensions]" >> $INSTALL_DIR/etc/php.ini
    fi
}

# install raphf.so
function Install_raphf() {
    wget -P $DOWN_DIR http://pecl.php.net/get/raphf-2.0.0.tgz
    tar -zxf $DOWN_DIR/raphf-2.0.0.tgz -C /tmp/
    if [ -d /tmp/raphf-2.0.0 ];then
        cd /tmp/raphf-2.0.0
        $INSTALL_DIR/bin/phpize 
        ./configure --with-php-config=$INSTALL_DIR/bin/php-config
        if [ $? -eq 0 ];then
            make && make install
            echo "extension=raphf.so" >> $INSTALL_DIR/etc/php.ini
        fi
    rm -rf /tmp/raphf-2.0.0
    fi
}

# install raphf.so
function Install_propro() {
    wget -P $DOWN_DIR http://pecl.php.net/get/propro-2.0.1.tgz
    tar -zxf $DOWN_DIR/propro-2.0.1.tgz -C /tmp 
    if [ -d /tmp/propro-2.0.1 ];then
        cd /tmp/propro-2.0.1
        $INSTALL_DIR/bin/phpize
        ./configure --with-php-config=$INSTALL_DIR/bin/php-config
        if [ $? -eq 0 ];then
            make && make install
            echo "extension=propro.so" >> $INSTALL_DIR/etc/php.ini
        fi
    rm -rf /tmp/propro-2.0.1
    fi
}

# install http.so
function Install_http() {
    wget -P $DOWN_DIR http://pecl.php.net/get/pecl_http-3.1.0.tgz
    tar -zxf $DOWN_DIR/pecl_http-3.1.0.tgz -C /tmp
    if [ -d /tmp/pecl_http-3.1.0 ];then
        cd /tmp/pecl_http-3.1.0
        $INSTALL_DIR/bin/phpize 
        ./configure --with-php-config=$INSTALL_DIR/bin/php-config
        if [ $? -eq 0 ];then
            make && make install
            echo "extension=http.so" >> $INSTALL_DIR/etc/php.ini
        fi
    rm -rf /tmp/pecl_http-3.1.0
    fi
}

# install curl.so
function Install_curl() {
    cd $EXT_DIR/curl
    $INSTALL_DIR/bin/phpize 
    ./configure --with-php-config=$INSTALL_DIR/bin/php-config
    if [ $? -eq 0 ];then
        make && make install
        echo "extension=curl.so" >> $INSTALL_DIR/etc/php.ini
    fi
}

# install mcrypt.so
function Install_mcrypt() {
    yum install -y libmcrypt libmcrypt-devel
    cd $EXT_DIR/mcrypt
    $INSTALL_DIR/bin/phpize
    ./configure --with-php-config=$INSTALL_DIR/bin/php-config
    if [ $? -eq 0 ];then
        make && make install
        echo "extension=mcrypt.so" >> $INSTALL_DIR/etc/php.ini
    fi
}

# install openssl.so
function Install_openssl() {
    cd $EXT_DIR/openssl
    if [ ! -f config.m4 ];then
        cp config0.m4 config.m4
    fi
    $INSTALL_DIR/bin/phpize
    ./configure --with-php-config=$INSTALL_DIR/bin/php-config
    if [ $? -eq 0 ];then
        make && make install
        echo "extension=openssl.so" >> $INSTALL_DIR/etc/php.ini
    fi
}

# install redis.so
function Install_redis() {
    wget -P $DOWN_DIR http://pecl.php.net/get/redis-3.1.4.tgz
    tar -zxf $DOWN_DIR/redis-3.1.4.tgz -C $EXT_DIR/
    cd $EXT_DIR/redis-3.1.4
    $INSTALL_DIR/bin/phpize 
    ./configure  --with-php-config=$INSTALL_DIR/bin/php-config
    if [ $? -eq 0 ];then
        make && make install
        echo "extension=redis.so" >> $INSTALL_DIR/etc/php.ini
    fi
    rm -rf $EXT_DIR/redis-3.1.4
} 

# install imagick.so
function Install_Imagick() {
    wget -P $DOWN_DIR http://pecl.php.net/get/imagick-3.4.3.tgz
    tar -zxf $DOWN_DIR/imagick-3.4.3.tgz -C $EXT_DIR/
    cd $EXT_DIR/imagick-3.4.3
    $INSTALL_DIR/bin/phpize
    ./configure --with-php-config=$INSTALL_DIR/bin/php-config
    if [ $? -eq 0 ];then
        make && make install
        echo "extension=imagick.so" >> $INSTALL_DIR/etc/php.ini
    fi
    rm -rf $EXT_DIR/imagick-3.4.3
}

# install zip.so
function Install_zip() {
    cd $EXT_DIR/zip
    $INSTALL_DIR/bin/phpize
    ./configure --with-php-config=$INSTALL_DIR/bin/php-config
    if [ $? -eq 0 ];then
        make && make install
    fi 
}

# install socket.so
function Install_sock() {
    cd $EXT_DIR/sockets
        $INSTALL_DIR/bin/phpize
        ./configure --with-php-config=$INSTALL_DIR/bin/php-config
        if [ $? -eq 0 ];then
                make && make install
        echo "extension=sockets.so" >> $INSTALL_DIR/etc/php.ini
        fi  
}

# install gettext
function Install_gettext() {
    cd $EXT_DIR/gettext
    $INSTALL_DIR/bin/phpize
    ./configure --with-php-config=$INSTALL_DIR/bin/php-config 
    if [ $? -eq 0 ];then
        make && make install
        echo "extension=gettext.so" >> $INSTALL_DIR/etc/php.ini
    fi
}

function Install_bcmath() {
    cd $EXT_DIR/bcmath
    $INSTALL_DIR/bin/phpize
        ./configure --with-php-config=$INSTALL_DIR/bin/php-config 
        if [ $? -eq 0 ];then
                make && make install
                echo "extension=bcmath.so" >> $INSTALL_DIR/etc/php.ini
        fi
    
}

# install exif
function Install_exif() {
    cd $EXT_DIR/exif
    $INSTALL_DIR/bin/phpize
        ./configure --with-php-config=$INSTALL_DIR/bin/php-config 
        if [ $? -eq 0 ];then
                make && make install
                echo "extension=exif.so" >> $INSTALL_DIR/etc/php.ini
        fi
    
}

# install pcntl
function Install_pcntl() {
    cd $EXT_DIR/pcntl
    $INSTALL_DIR/bin/phpize
        ./configure --with-php-config=$INSTALL_DIR/bin/php-config 
        if [ $? -eq 0 ];then
                make && make install
        echo "[messages]" >> $INSTALL_DIR/etc/php.ini
                echo "extension=pcntl.so" >> $INSTALL_DIR/etc/php.ini
        fi
    
}


# install opcache
function Install_opcache() {
    cd $EXT_DIR/opcache
    $INSTALL_DIR/bin/phpize
        ./configure --with-php-config=$INSTALL_DIR/bin/php-config 
        if [ $? -eq 0 ];then
                make && make install
        echo "[zend extensions]" >> $INSTALL_DIR/etc/php.ini
                echo "zend_extension=opcache.so" >> $INSTALL_DIR/etc/php.ini
        fi
}
    

function Install_gd() {
    yum install -y libXpm-devel zlib-devel zlib 
    wget -P $DOWN_DIR http://www.ijg.org/files/jpegsrc.v9b.tar.gz
    tar -zxf $DOWN_DIR/jpegsrc.v9b.tar.gz -C /tmp/
    if [ ! -d /tmp/jpeg-9b];then
        exit
    else
        cd /tmp/jpeg-9b
        ./configure --enable-shared --enable-static
        if [ $? -eq 0 ];then
            make && make install
        fi
    rm -rf /tmp/jpeg-9b
    fi
    wget -P $DOWN_DIR/ https://jaist.dl.sourceforge.net/project/libpng/libpng16/1.6.34/libpng-1.6.34.tar.gz
    tar -zxf $DOWN_DIR/libpng-1.6.34.tar.gz -C /tmp/
    if [ ! -d /tmp/libpng-1.6.34 ];then
        exit
    else
        cd /tmp/libpng-1.6.34
        ./configure --enable-shared --enable-static
        if [ $? -eq 0 ];then
            make && make install
        fi
        rm -rf /tmp/libpng-1.6.34
    fi
    wget -P $DOWN_DIR https://jaist.dl.sourceforge.net/project/freetype/freetype2/2.8.1/freetype-2.8.1.tar.gz
    tar -zxf $DOWN_DIR/freetype-2.8.1.tar.gz -C /tmp/
    if [ -d  /tmp/freetype-2.8.1 ];then
        cd /tmp/freetype-2.8.1
        ./configure --prefix=/usr/lib64
        if [ $? -eq 0 ];then
            make && make install
        fi
        rm -rf /tmp/freetype-2.8.1
    fi
    if [ -d $EXT_DIR/gd ];then
        cd $EXT_DIR/gd
        $INSTALL_DIR/bin/phpize .
        ./configure --prefix=/usr/lib64 --with-jpeg=/usr/lib64 --with-png=/usr/lib64 --with-zlib --with-freetype=/usr/lib64 --with-php-config=$INSTALL_DIR/bin/php-config
        if [ $? -eq 0 ];then
            make && make install
        fi
        if [ -f $INSTALL_DIR/etc/php.ini ];then
            echo "extension=gd.so" >> $INSTALL_DIR/etc/php.ini
        fi
    fi
    
    
}

Install_php
if [ $? -eq 0 ];then
    Install_raphf
if [ $? -eq 0 ];then
    Install_propro
if [ $? -eq 0 ];then
    Install_http
if [ $? -eq 0 ];then
    Install_curl
if [ $? -eq 0 ];then
echo ">>>>>> Install mcrypt"
    Install_mcrypt
if [ $? -eq 0 ];then
echo ">>>>>> Install openssl"
    Install_openssl
if [ $? -eq 0 ];then
echo ">>>>>> Install redis"
    Install_redis
if [ $? -eq 0 ];then
echo ">>>>>> Install imagick"
    Install_Imagick
if [ $? -eq 0 ];then
echo ">>>>>> Install zip"
    Install_zip
if [ $? -eq 0 ];then
echo ">>>>>> install sock"
    Install_sock
if [ $? -eq 0 ];then
echo ">>>>>> Install gettext"
    Install_gettext
if [ $? -eq 0 ];then
echo ">>>>>> Install exif"
    Install_exif

# install pcntl
if [ $? -eq 0 ];then
    echo ">>>>>> Install pcntl"
    Install_pcntl

#install opcache
if [ $? -eq 0 ];then
    echo ">>>>>> Install opcache"
    Install_opcache

if [ $? -eq 0 ];then
echo ">>>>>> Install gd"
    Install_gd
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
fi
echo "Install over========================"

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市召娜,隨后出現(xiàn)的幾起案子琉朽,更是在濱河造成了極大的恐慌,老刑警劉巖钠龙,帶你破解...
    沈念sama閱讀 219,188評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件左刽,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡炫加,警方通過查閱死者的電腦和手機(jī)窟哺,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,464評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門泻轰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來技肩,“玉大人且轨,你說我怎么就攤上這事⌒樾觯” “怎么了旋奢?”我有些...
    開封第一講書人閱讀 165,562評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長然痊。 經(jīng)常有香客問我至朗,道長,這世上最難降的妖魔是什么剧浸? 我笑而不...
    開封第一講書人閱讀 58,893評(píng)論 1 295
  • 正文 為了忘掉前任锹引,我火速辦了婚禮,結(jié)果婚禮上唆香,老公的妹妹穿的比我還像新娘嫌变。我一直安慰自己,他們只是感情好躬它,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,917評(píng)論 6 392
  • 文/花漫 我一把揭開白布腾啥。 她就那樣靜靜地躺著,像睡著了一般冯吓。 火紅的嫁衣襯著肌膚如雪倘待。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,708評(píng)論 1 305
  • 那天组贺,我揣著相機(jī)與錄音凸舵,去河邊找鬼。 笑死失尖,一個(gè)胖子當(dāng)著我的面吹牛啊奄,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播雹仿,決...
    沈念sama閱讀 40,430評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼增热,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了胧辽?” 一聲冷哼從身側(cè)響起峻仇,我...
    開封第一講書人閱讀 39,342評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎邑商,沒想到半個(gè)月后摄咆,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體凡蚜,經(jīng)...
    沈念sama閱讀 45,801評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,976評(píng)論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了鲤拿。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片睡蟋。...
    茶點(diǎn)故事閱讀 40,115評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖谱醇,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情步做,我是刑警寧澤副渴,帶...
    沈念sama閱讀 35,804評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站全度,受9級(jí)特大地震影響煮剧,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜将鸵,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,458評(píng)論 3 331
  • 文/蒙蒙 一勉盅、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧顶掉,春花似錦草娜、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,008評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至凸克,卻和暖如春议蟆,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背萎战。 一陣腳步聲響...
    開封第一講書人閱讀 33,135評(píng)論 1 272
  • 我被黑心中介騙來泰國打工咐容, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人蚂维。 一個(gè)月前我還...
    沈念sama閱讀 48,365評(píng)論 3 373
  • 正文 我出身青樓戳粒,卻偏偏與公主長得像,于是被迫代替她去往敵國和親虫啥。 傳聞我的和親對(duì)象是個(gè)殘疾皇子蔚约,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,055評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • LAMP簡介 LAMP(Linux- Apache-MySQL-PHP)網(wǎng)站架構(gòu)是目前國際流行的Web框架,該框架...
    mx3閱讀 1,071評(píng)論 1 9
  • 1.LAMP介紹 ? LAM(M)P:L: linuxA: apache (httpd)M: mysql, mar...
    尛尛大尹閱讀 1,051評(píng)論 0 1
  • 1.寫在前面 本文主要介紹的是zabbix的編譯安裝過程树枫,包含它的基礎(chǔ)環(huán)境LNMP直焙,雖然zabbix官方一般推薦的...
    天之藍(lán)色閱讀 2,535評(píng)論 0 16
  • 同志們,記得首先要安裝Mysql啊砂轻,由于Mysql的安裝步驟在之前的LAMP中已經(jīng)講過了奔誓,大家不會(huì)安裝的一定要去看...
    石樂志的LK閱讀 322評(píng)論 1 1
  • 第一眼看到皇后牌就有安靜祥和充實(shí)滿足的感覺,一位女神手持權(quán)杖頭戴皇冠穿著一身白色有果實(shí)花紋的長裙搔涝,坐在郁郁蔥蔥的麥...
    陸陸_3cd9閱讀 145評(píng)論 0 1