11月21日任務
11.32 php擴展模塊安裝php
在不少狀況下,以前編譯安裝php時,有些模塊並無被編譯進軟件,咱們能夠在後期根據本身的須要進行編譯安裝,將某個模塊編譯進入php。mysql
從新編譯須要autoconf包git
[root@localhost ftp]# /usr/local/php5/bin/phpize Configuring for: PHP Api Version: 20131106 Zend Module Api No: 20131226 Zend Extension Api No: 220131226 Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF environment variable. Then, rerun this script. [root@localhost ftp]# yum install -y autoconf
以redis爲例(redis一般在lamp中做爲緩存使用)github
下載redis包(第三方模塊包須要下載,php源碼包內的ext目錄下包含一些經常使用的模塊包)redis
[root@localhost src]# wget https://codeload.github.com/phpredis/phpredis/zip/develop # 下載的develop是一個zip包 [root@localhost src]# mv develop phpredis-develop.zip [root@localhost src]# unzip phpredis-develop.zip
生成configure文件(前提要安裝autoconf)sql
[root@localhost phpredis-develop]# yum install -y autoconf [root@localhost phpredis-develop]# /usr/local/php7/bin/phpize Configuring for: PHP Api Version: 20160303 Zend Module Api No: 20160303 Zend Extension Api No: 320160303
安裝緩存
[root@localhost phpredis-develop]# ./configure --with-php-config=/usr/local/php7/bin/php-config [root@localhost phpredis-develop]# make [root@localhost phpredis-develop]# make install Installing shared extensions: /usr/local/php7/lib/php/extensions/no-debug-zts-20160303/ # 這個目錄時存放so文件的目錄
查看php7
[root@localhost phpredis-develop]# /usr/local/php7/bin/php -i |grep -i extension_dir extension_dir => /usr/local/php7/lib/php/extensions/no-debug-zts-20160303 => /usr/local/php7/lib/php/extensions/no-debug-zts-20160303 sqlite3.extension_dir => no value => no value
修改PHP配置文件php.inithis
[root@localhost phpredis-develop]# vi /usr/local/php7/etc/php.ini 加入一行extension=redis.so [root@localhost phpredis-develop]# /usr/local/php7/bin/php -m | grep redis redis
php的大部分模塊均可以這樣進行安裝。spa
有一個須要額外注意:mysqli模塊
前文第三步中編譯mysqli時編譯參數須要額外指定mysql_config文件
[root@localhost mysqli]# ./configure --with-php-config=/usr/local/php5/bin/php-config --with-mysqli=/usr/local/mysql/bin/mysql_config