1. 程式人生 > >四十五、PHP擴展模塊安裝

四十五、PHP擴展模塊安裝

PHP擴展模塊安裝

當已經安裝編譯了PHP,卻發現少安裝了一個模塊,就可以使用擴展模塊去編譯。

查看模塊:/usr/local/php/bin/php -m


示例安裝一個redis模塊:

# cd /usr/local/src

# wget https://codeload.github.com/phpredis/phpredis/zip/develop

# mv develop phpredis-develop.zip

# unzip phpredis-develop.zip

# cd phpredis-develop/

# /usr/local/php7/bin/phpize //為了生成configure文件

Configuring for:

PHP Api Version: 20160303

Zend Module Api No: 20160303

Zend Extension Api No: 320160303

Cannot find autoconf. Please check your autoconf installation and the 首次會報錯說少了autoconf這個包

$PHP_AUTOCONF environment variable. Then, rerun this script.

# yum install -y autoconf

# /usr/local/php7/bin/phpize 此時就可以ls看到有configure這個文件了

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

一般情況下只需要加這個選項就可以了。

# make

# make install //會把redis.so的文件放到這個20160303目錄下

Installing shared extensions: /usr/local/php7/lib/php/extensions/no-debug-zts-20160303/

此時redis模塊還沒有加載,需要配置一下:

# /usr/local/php7/bin/php -i |grep extension_dir //查看擴展模塊存放目錄,可在php.ini中自定義該路徑。

# vim /usr/local/php7/etc/php.ini //增加一行配置,可放在最後一行

extension=redis.so

# /usr/local/php7/bin/php -m |grep redis //已經加載好了

redis

通常擴展模塊會放到這個目錄下/usr/local/php7/lib/php/extensions/


# cd /usr/local/src/php-7.1.6/ext

當你想編譯一個擴展模塊時,如果它自帶的源碼包裏的ext目錄下有這個模塊的目錄,那你就可以直接進這個模塊的目錄下去編譯它。

進入目錄,

然後/usr/local/php7/bin/phpize

再加一條# ./configure --with-php-config=/usr/local/php7/bin/php-config

再# make && make install

然後進/usr/local/php7/etc/php.ini增加一行extension=zip.so的配置就可以加載出來了。


擴展

apache rewrite教程 http://coffeelet.blog.163.com/blog/static/13515745320115842755199/http://www.cnblogs.com/top5/archive/2009/08/12/1544098.html

apache rewrite 出現死循環 http://ask.apelearn.com/question/1043

php錯誤日誌級別參考 http://ask.apelearn.com/question/6973

php開啟短標簽 http://ask.apelearn.com/question/120

php.ini詳解 http://legolas.blog.51cto.com/2682485/493917


四十五、PHP擴展模塊安裝