美文网首页
php扩展模块安装

php扩展模块安装

作者: XiaoMing丶 | 来源:发表于2018-11-21 22:37 被阅读0次

目录

php扩展模块安装

php扩展模块安装

  • PHP一旦编译完成后,要想再增加一个功能模块的话,要么重新编译PHP,要么直接编译一个扩展模块(生成一个.so文件),然后在php.ini中配置一下,就可以被加载使用了。

  • 查看PHP都加载的功能模块

 [root@minglinux-01 ~] /usr/local/php/bin/php -m
PHP Deprecated:  Comments starting with '#' are deprecated in /usr/local/php/etc/php.ini on line 450 in Unknown on line 0
[PHP Modules]
bz2
Core
ctype
date
dom
ereg
exif
fileinfo
filter
gd
hash
iconv
json
libxml
mbstring
mcrypt
mysql
openssl
pcre
PDO
pdo_sqlite
Phar
posix
Reflection
session
SimpleXML
soap
sockets
SPL
sqlite3
standard
tokenizer
xml
xmlreader
xmlwriter
zlib

[Zend Modules]

  • 以扩展模块的形式编译安装一个PHP的redis模块
[root@minglinux-01 /usr/local/src] wget https://codeload.github.com/phpredis/phpredis/zip/develop 
[root@minglinux-01 /usr/local/src] mv develop phpredis-develop.zip
[root@minglinux-01 /usr/local/src] unzip phpredis-develop.zip 
[root@minglinux-01 /usr/local/src] cd phpredis-develop/
[root@minglinux-01 /usr/local/src/phpredis-develop] /usr/local/php/bin/phpize  //目的是生成configure文件,没有就无法编译
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.
//报错缺少autoconf包,所以先安装该包再生成一次

[root@minglinux-01 /usr/local/src/phpredis-develop] yum install -y autoconf
[root@minglinux-01 /usr/local/src/phpredis-develop]  /usr/local/php/bin/phpize   //再执行一次
Configuring for:
PHP Api Version:         20131106
Zend Module Api No:      20131226
Zend Extension Api No:   220131226
[root@minglinux-01 /usr/local/src/phpredis-develop] ll |grep configure  //生成了configure文件
-rwxr-xr-x 1 root root 451368 11月 21 22:04 configure
-rw-r--r-- 1 root root   4690 11月 21 22:04 configure.in
[root@minglinux-01 /usr/local/src/phpredis-develop] ./configure --with-php-config=/usr/local/php/bin/php-config   //生成可编译文件

[root@minglinux-01 /usr/local/src/phpredis-develop] make
[root@minglinux-01 /usr/local/src/phpredis-develop] make install
Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-zts-20131226/     
// make install的时候会把编译好的redis.so放到这个目录下面,这个目录也是扩展模块存放目录

[root@minglinux-01 /usr/local/src/phpredis-develop] ls /usr/local/php/lib/php/extensions/no-debug-zts-20131226/
opcache.so  redis.so

[root@minglinux-01 /usr/local/src/phpredis-develop] /usr/local/php/bin/php -i |grep extension_dir    //可以在php.in自定义该路径
PHP Deprecated:  Comments starting with '#' are deprecated in /usr/local/php/etc/php.ini on line 450 in Unknown on line 0
extension_dir => /usr/local/php/lib/php/extensions/no-debug-zts-20131226 => /usr/local/php/lib/php/extensions/no-debug-zts-20131226
sqlite3.extension_dir => no value => no value

[root@minglinux-01 /usr/local/src/phpredis-develop] /usr/local/php7/bin/php -m|grep redis    //未加载redis模块
-bash: /usr/local/php/bin/php: 没有那个文件或目录

[root@minglinux-01 /usr/local/src/phpredis-develop] vim /usr/local/php/etc/php.ini    
extension = redis.so    //在php.in中添加这一行

[root@minglinux-01 /usr/local/src/phpredis-develop] /usr/local/php/bin/php -m|grep redis
PHP Deprecated:  Comments starting with '#' are deprecated in /usr/local/php/etc/php.ini on line 450 in Unknown on line 0
redis     //已经加载了redis模块

redis等模块不是php自带,使用时需要专门下载。在php源码包中的ext目录下有很多模块,该目录下的模块安装配置不需要下载,只要进入对应包的目录,执行/usr/local/php/bin/phpize在该目录下生成configure文件,然后生成可编译文件,编译、安装即可。生成可编译文件(即执行./configure)时需要跟参数--with-php-config=/usr/local/php/bin/php-config。

[root@minglinux-01 /usr/local/src/php-5.6.30] pwd
/usr/local/src/php-5.6.30
[root@minglinux-01 /usr/local/src/php-5.6.30] ls ext/
bcmath              ftp        mysqli        pgsql       standard
bz2                 gd         mysqlnd       phar        sybase_ct
calendar            gettext    oci8          posix       sysvmsg
com_dotnet          gmp        odbc          pspell      sysvsem
ctype               hash       opcache       readline    sysvshm
curl                iconv      openssl       recode      tidy
date                imap       pcntl         reflection  tokenizer
dba                 interbase  pcre          session     wddx
dom                 intl       pdo           shmop       xml
enchant             json       pdo_dblib     simplexml   xmlreader
ereg                ldap       pdo_firebird  skeleton    xmlrpc
exif                libxml     pdo_mysql     snmp        xmlwriter
ext_skel            mbstring   pdo_oci       soap        xsl
ext_skel_win32.php  mcrypt     pdo_odbc      sockets     zip
fileinfo            mssql      pdo_pgsql     spl         zlib
filter              mysql      pdo_sqlite    sqlite3

扩展

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扩展模块安装

    PHP扩展模块安装 PHP扩展模块安装 扩展apache rewrite教程 http://coffeelet.b...

  • php扩展模块安装

    目录 php扩展模块安装 php扩展模块安装 PHP一旦编译完成后,要想再增加一个功能模块的话,要么重新编译PHP...

  • php扩展模块安装过程

    简介 安装php模块,不需要重新编译php,可以动态扩展php模块。 例子 以安装msgpack模块为例:(此处p...

  • 无需重新编译安装PHP扩展的方法

    PHP扩展模块通常有两种: PHP官方扩展。如果php通过源码安装(php7),安装的时候未开启,而后来需要开启某...

  • Zabbix 5.0 LTS监控系统实施

    2:安装 php 7.2 以及 zabbix 所需的 php 扩展模块安装 php 第三方源 yum instal...

  • debain中的Apache、PHP踩过的坑

    debian php扩展模块已经安装 phpinfo看不到该模块 在测试mqtt协议的时候,需要安装PHP支持的m...

  • PHP 常用扩展模块

    php 扩展主要分为两类: php模块扩展和zend模块扩展。 php模块扩展 bz2 用于透明地读写 bzip...

  • PHP安装扩展模块

    有时候我们需要让php支持其他的一些模块,所以需要我们可以重新编译php,编译之前加上模块的配置参数,也可以直接编...

  • Centos下php找不到pdo_mysql

    安装完php后需要安装php的扩展比如: 安装php的扩展yum install php-mysql php-gd...

  • VSCode - Php debug调试

    安装 VSCode Php Debug 扩展 运行 VSCode 打开扩展 输入 PHP Debug 安装 安装 ...

网友评论

      本文标题:php扩展模块安装

      本文链接:https://www.haomeiwen.com/subject/dsyhqqtx.html