45.PHP扩展模块安装

11.32 php扩展模块安装

扩展

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

 

 

~~1.

PHP动态扩展模块(PHP源码包里ext下没有需要的模块的情况下的安装方法)

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

 

例如我们php已经安装好了,但是发现少了一个模块。但是又不能从新编译php,那么可以用下面这种方式(实际上就是编译出一个.so的文件):

 

/usr/local/php/bin/php -m //查看模块

下面安装一个redis的模块 在lamp架构下,通常当做一个缓存来用

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/php/bin/phpize 生成configure文件(此处需生成一个configure模块),注意输出是否报错

./configure --with-php-config=/usr/local/php/bin/php-config 一般只需要加--with就可以了

make && make install

/usr/local/php/bin/php -i |grep extension_dir 查看扩展模块存放目录,我们可以在php.ini中去自定义该路径,但针对这样扩展的模块,我们不用去改他的路径,默认就好

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

extension=redis.so

 

 

~~2.

假如在PHP源码包里ext下有需要的模块的情况下的安装方法

(/usr/local/src/php-7.1.6/ext/)

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

cd zip cd到需要安装的这个模块目录下

/usr/local/php7/bin/phpize 直接执行,生成.configure

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

make&&make install

 

 

实例:

~~1.

[root@axinlinux-01 ~]# /usr/local/php/bin/php -m

[PHP Modules]

[root@axinlinux-01 ~]# cd /usr/local/src

[root@axinlinux-01 src]# wget https://codeload.github.com/phpredis/phpredis/zip/develop

[root@axinlinux-01 src]# du -sh develop

236K develop

[root@axinlinux-01 src]# mv develop phpredis-develop.zip

[root@axinlinux-01 src]# unzip phpredis-develop.zip

[root@axinlinux-01 src]# cd phpredis-develop/

[root@axinlinux-01 phpredis-develop]# ls 要生成一个.configure的文件,才能编译

[root@axinlinux-01 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.

[root@axinlinux-01 phpredis-develop]# yum install -y autoconf

[root@axinlinux-01 phpredis-develop]# /usr/local/php7/bin/phpize 重新生成

Configuring for:

PHP Api Version: 20160303

Zend Module Api No: 20160303

Zend Extension Api No: 320160303 这样的输出才是正常

[root@axinlinux-01 phpredis-develop]# ls 会看到configure这个文件

[root@axinlinux-01 phpredis-develop]# ./configure --with-php-config=/usr/local/php7/bin/php-config

[root@axinlinux-01 phpredis-develop]# echo $?

0

[root@axinlinux-01 phpredis-develop]# make

[root@axinlinux-01 phpredis-develop]# make install

Installing shared extensions: /usr/local/php7/lib/php/extensions/no-debug-zts-20160303/ 这个路径就是我们要的.so的文件

[root@axinlinux-01 phpredis-develop]# ls /usr/local/php7/lib/php/extensions/no-debug-zts-20160303/

opcache.so redis.so

[root@axinlinux-01 phpredis-develop]# /usr/local/php7/bin/php -m 并没有这个模块,说明现在php还不支持他

[root@axinlinux-01 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

[root@axinlinux-01 phpredis-develop]# vim /usr/local/php7/etc/php.ini

;extension=php_pdo_odbc.dll

;extension=php_pdo_pgsql.dll

;extension=php_pdo_sqlite.dll

;extension=php_pgsql.dll

;extension=php_shmop.dll 搜索extension,在一长串extension的最下面加上extension=redis.so

[root@axinlinux-01 phpredis-develop]# /usr/local/php7/bin/php -m |grep redis

redis 这时候就有了

 

 

~~2.

[root@axinlinux-01 php7]# cd /usr/local/src/php-7.1.6/ext/

[root@axinlinux-01 ext]# ls

bcmath dba filter imap mcrypt pcntl pdo_odbc readline snmp sysvsem xmlrpc

bz2 dom ftp interbase mysqli pcre pdo_pgsql recode soap sysvshm xmlwriter

calendar enchant gd intl mysqlnd pdo pdo_sqlite reflection sockets tidy xsl

com_dotnet exif gettext json oci8 pdo_dblib pgsql session spl tokenizer zip

ctype ext_skel gmp ldap odbc pdo_firebird phar shmop sqlite3 wddx zlib

curl ext_skel_win32.php hash libxml opcache pdo_mysql posix simplexml standard xml

date fileinfo iconv mbstring openssl pdo_oci pspell skeleton sysvmsg xmlreader

以上是php源码包里自带的可用的模块,我们需要的这里有的话,就可直接安装

[root@axinlinux-01 ext]# /usr/local/php7/bin/php -m |grep zip 假如我们编译zip

[root@axinlinux-01 ext]# cd zip 首先cd到这个zip目录下来

[root@axinlinux-01 zip]# ls

config.m4 config.w32 CREDITS examples lib LICENSE_libzip php_zip.c php_zip.h tests TODO zip_stream.c

[root@axinlinux-01 zip]# /usr/local/php7/bin/phpize 直接执行,生成.configure

[root@axinlinux-01 zip]# ./configure --with-php-config=/usr/local/php7/bin/php-config

[root@axinlinux-01 zip]# echo $?

0

[root@axinlinux-01 zip]# make

[root@axinlinux-01 zip]# echo $?

0

[root@axinlinux-01 zip]# make install

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

[root@axinlinux-01 zip]# echo $?

0

[root@axinlinux-01 zip]# ls /usr/local/php7/lib/php/extensions/no-debug-zts-20160303/

opcache.so redis.so zip.so

转载于:https://my.oschina.net/u/3866149/blog/1924747

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值