PHP swoole、apcu、mcrypt 環境搭建

swoole 安裝

下載swoole

http://pecl.php.net/package/swoole

image

運行到一半上面的網站突然連不了了,直接去GitHub找

https://github.com/swoole/swoole-src/tags?after=v4.0.1

image

官網捉的 - swoole-2.2.0.tgz

GitHub捉的 - swoole-src-2.2.0.tar.gz

版本要求及確認

若查版本已安裝且符合,即可跳過該依賴的安裝

  • Linux內核版本2.3.32以上,如CentOS 6.6以上
uname -r

image

  • PHP 5.3.10以上版本
php -v

image

  • gcc 4.4以上版本
gcc --version

image

  • cmake2.4以上版本(下面有安裝方法)
cmake --version

image

原來漏裝了cmake...

補裝完成,過程筆記放到下面去,直接往下拉到cmake安裝的部分,裝完再回來

image

  • autoconf(下面有安裝方法)

image

  • automake(下面有安裝方法)

image

  • perl(下面有安裝方法)

image

安裝swoole

解壓

tar -zxvf swoole-2.2.0.tgz

安裝phpize,產生configure

# 要對應php的目錄修改
# 可以先使用find / -name phpize確認位置
/usr/bin/phpize
#
/usr/local/webserver/php/bin/phpize

image

發現沒有產生configure檔

image

上網爬文似手漏安裝了automake(安裝步驟放後面)

在安裝其它對應的依賴之後,再執行phpize,終於看到configure了

image

編譯環境

# 要對應php的目錄修改
# 可以先使用find / -name php-config確認位置
./configure --with-php-config=/usr/local/webserver/php/bin/php-config
#
./configure --with-php-config=/usr/bin/php-config

image

image

編譯&安裝

make && make install

image

image

查看已經安裝好的php擴展文件

ls /usr/lib64/php/modules/

image

設定配置檔(作法一)

找尋php.ini檔

find / -name php.ini

拷貝一份並在最下面加上擴展

extension = swoole.so

image

存放到php-fpm的設定檔目錄(依自己安裝的目錄而有異動)

image

再重啟php-fmp下指令php-m應該就可以看到swoole了!!

php -m
php -m|grep swoole

設定配置檔(作法二-VM)

cd /etc/php.d/

在/etc/php.d/隨意拷一個設定檔,改名成swoole.ini,並修改內容增加擴展

cp 20-mysqlnd.ini swoole.ini
vi swoole.ini

image

image

php -m
php -m|grep swoole

image

cmake安裝

下載camke源碼包

http://www.cmake.org/files/v2.8/cmake-2.8.10.2.tar.gz

image

放到/usr/local/src/

image

解壓

tar -zxvf cmake-2.8.10.2.tar.gz

進入目錄執行

./bootstrap

image

image

gmake

image

image

這邊連成功畫面也記錄,是擔心之後在不同的環境,不一定能順利成功,記錄完整方便之後的判斷

gmake install

image

image

安裝成功了

cmake --version

image

automake安裝

源碼安裝(放棄,直接往下拉看用yum安裝的方式)

下載

http://ftp.gnu.org/gnu/automake/automake-1.14.tar.gz

image

解壓

tar -zxvf automake-1.14.tar.gz

進入目錄

./bootstrap.sh

image

編譯環境

./configure

image

編譯&執行

(這邊報錯,發現還要裝perl...)

make && make install

yum安裝(autoconf、automake)

yum whatprovides autoconf automake
automake --version
autoconf --version

image

安裝perl

編譯安裝的過程會有點久,莫名的一直補裝軟件,就不附圖了

源碼安裝(放棄,直接往下拉看用yum安裝的方式)

下載

http://www.cpan.org/src/5.0/perl-5.16.1.tar.gz

解壓

tar -zxvf perl-5.16.1.tar.gz

編譯環境

./Configure -des -Dprefix=/usr/local/perl

編譯

make

編譯測試

make test

安裝

make install

以上源碼安裝的方式不知道為何無法成功

放棄源碼安裝

使用yum安裝

yum install perl*

確認版本

perl -v

image

安裝apcu

下載

https://pecl.php.net/package/APCU

image

拷貝到對應目錄

image

解壓

tar -zxvf apcu-5.1.10.tgz

找一下phpize的位置

find / -name phpize

image

下指令產生configure檔案

/usr/local/webserver/php/bin/phpize

可與上張圖作對比,執行前與執行後 image

找一下php-config的位置

find / -name php-config

在 /usr/local/webserver/php/bin/php-config

image

編譯

# 根據自己的安裝目錄,選擇以下其中一個運行

./configure  --with-php-config=/usr/local/webserver/php/bin/php-config
#
./configure  --with-php-config=/usr/bin/php-config

image

make

image

make install

image

設定配置檔(作法一)

找尋php.ini檔

find / -name php.ini

拷貝一份並在最下面加上擴展

extension = apcu.so

存放到php-fpm的設定檔目錄(依自己安裝的目錄而有異動)

image

再重啟php-fmp下指令php-m應該就可以看到apcu了!!

php -m
php -m|grep apcu

成功了!!! image

設定配置檔(作法二-VM-未成功)

cd /etc/php.d/

在/etc/php.d/隨意拷一個設定檔,改名成apcu.ini,並修改內容增加擴展

cp 20-mysqlnd.ini apcu.ini
vi apcu.ini

image

php -m
php -m|grep apcu

安裝mcrypt

下載libmcrypt,mhash,mcrypt

libmcrypt

https://sourceforge.net/projects/mcrypt/files/libmcrypt/2.5.8/

image

mhash

https://sourceforge.net/projects/mcrypt/files/libmcrypt/2.5.8/

image

mcrypt

https://pecl.php.net/package/mcrypt

image

這邊會寫的比較簡單,因為已經經歷以上的摧殘

安裝mcrypt

解壓

找到phpize的目錄

find / -name php-config

進入目錄執行,產生configure檔案

/usr/local/webserver/php/bin/phpize

找到php-config的目錄

find / -name php-config

編譯環境

./configure --with-php-config=/usr/local/webserver/php/bin/php-config

發生報錯,提示要先安裝libmcrypt(安裝方法放下面)

安裝完libmcrypt再回頭來安裝

make
make install

順利安裝完成,重啟php-fpm再查看

image

安裝libmcrypt

解壓

進入目錄ls

似乎已經有configure

./configure
make
make install