php ext配置,php配置——扩展模块如何安装

有时候,我们会有一些需求,这些模块在我们刚刚编译完php之后,发现少了一个模块,没有编译进来,

解决办法有两种:

第一种你需要去重新编译,找到你的源码包,重新编译,重新配置,

第二种使用动态的方式把它加载进来,就是你单独地去编译出来一个模块就可以了,类似于apache的动态共享模块。

## 查看PHP加载的模块

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

解释说明:

这些模块里有动态的,有静态的;而一些动态的可以在php.ini里去定义;

搜索动态模块在php.ini里 grep '^extension=' /usr/local/php/etc/php.ini

## 查看PHP自带的一些源码包、模块

[root@wy ~]# cd /usr/local/src/php-5.3.28/ext/

[root@wy ext]# ls

解释说明:

若里面没有所需要的,可以从网上去下载源码包

## 比如扩展安装curl模块(先查看一下有没有安装此模块)

[root@wy ext]# /usr/local/php/bin/php -m|grep -i curl

[root@wy ext]#

## 没有则进入到curl目录里

[root@wy ext]# cd curl

## 通过phpize工具生成configure进行编译

[root@wy curl]# /usr/local/php/bin/phpize

Configuring for:

PHP Api Version:         20090626

Zend Module Api No:      20090626

Zend Extension Api No:   220090626

[root@wy curl]# ls

acinclude.m4    build         config.m4   configure.in  curl.dsp     ltmain.sh        mkinstalldirs  php_curl.h     tests

aclocal.m4      config.guess  config.sub  config.w32    install-sh   Makefile.global  multi.c        run-tests.php

autom4te.cache  config.h.in   configure   CREDITS       interface.c  missing          package.xml    streams.c

## 安装源码包三部曲

[root@wy curl]# ./configure --with-php-config=/usr/local/php/bin/php-config

解释说明:

--with-php-config固定语法

[root@wy curl]# make

[root@wy curl]# make install

Installing shared extensions:/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/

解释说明:

会把模块的文件放在此目录下

## 查看生成的curl模块

[root@wy curl]# ls /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/

curl.so

解释说明:

这个路径是extension_dir中配置的;extension_dir它是存放扩展模块的;

通过/usr/local/php/bin/php -i |grep -i extension_dir可以查看;

如果两个路径一致,那么直接手动加载即可。如果不在同一目录下,手动加载需全路径;

## 在配置文件中手动加载

[root@wy curl]# vim /usr/local/php/etc/php.ini

extension=curl.so

WEBRESOURCE1f0a1c6b80845889a4393ed9846c7fb2

## 查看是否加载成功

[root@wy curl]# /usr/local/php/bin/php -m |grep curl

curl

## 重启apache加载这个模块

[root@wy curl]# /usr/local/apache2/bin/apachectl -t

Syntax OK

[root@wy curl]# /usr/local/apache2/bin/apachectl graceful

WEBRESOURCEdfe92741e188233cc9d4bac96fe49f5b

###########若我们不小心在php.ini模块名写错了(写成了curl22.so):################

## 检查是否加载了此模块(这肯定是没有的)

[root@wy curl]# /usr/local/php/bin/php -m|grep curl

[root@wy curl]#

## 接下来,查看一下错误日志

[root@wy curl]# tail /usr/local/php/logs/php_errors.log

[06-Nov-2016 23:45:16 Asia/Chongqing] PHP Warning:  PHP Startup:Unable to load dynamic library'/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/curl22.so' - /usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/curl22.so: cannot open shared object file: No such file or directory in Unknown on line 0

###############################################################################

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值