1. 程式人生 > >2018.3.8 11周3次課

2018.3.8 11周3次課

Linux學習

十一周三次課(3月8日)

11.32 php擴展模塊安裝

11.32 php擴展模塊安裝

編譯httpd時,有涉及動態和靜態模塊,其實PHP也一樣有這樣的說法。在本章講述PHP安裝時,所有的模塊全部都為靜態,並沒有任何動態的模塊。所謂動態,就是一個獨立存在的.so文件,在httpd中PHP就是以動態模塊的形式被加載的。PHP一旦編譯完成後,要想再增加一個功能模塊的話,要麽重新編譯PHP,要麽直接編譯一個擴展模塊(生成一個.so文件 ), 然後在php.ini中配置一下,就可以被加載使用了。 查看PHP都加載了哪些功能模塊 :/usr/local/php7/bin/php -m

技術分享圖片

下面安裝一個redis第三方的擴展模塊

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

在phpredis-develop沒有configure文件

技術分享圖片

/usr/local/php7/bin/phpize //生成configure文件

技術分享圖片

報錯,少了autoconf的包,安裝autoconf包:yum install -y autoconf

技術分享圖片

生成了configure文件

技術分享圖片

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

make

make install //把編譯好的redis.so放到/usr/local/php7/lib/php/extensions/no-debug-zts-20170718/這個目錄下面,這個目錄也是擴展模塊存放目錄

技術分享圖片

技術分享圖片

/usr/local/php7/bin/php -i |grep extension_dir //查看擴展模塊存放目錄,我們可以在php.ini中去自定義該路徑,默認的就可以了

技術分享圖片

就是我們上面查看時的目錄

還沒有加載

技術分享圖片

編輯配置文件:

vim /usr/local/php7/etc/php.ini //增加一行配置(可以放到文件最後一行)

extension=redis.so

技術分享圖片

技術分享圖片

在php源碼包裏,有個ext目錄,在裏面有很多自帶的模塊。可以直接編譯不用下載了

技術分享圖片

技術分享圖片

進入需要編輯的自帶模塊目錄裏,用/usr/local/php7/bin/phpize直接執行

技術分享圖片

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

make && make install

技術分享圖片


2018.3.8 11周3次課