编译php扩展

在php编译安装好的情况下php扩展编译

php的很多模块都是以php的扩展形式来进行的。所以在php安装好的环境下需要用到之前安装时没有编译安装的php扩展的时候,这个时候编译安装php扩展就显得尤为的重要,因为不可能再次编译安装php环境。

一、在windows下编译安装php扩展:
1、使用phpinfo()函数来查看当前编译php的环境使用的编译器选择合适的扩展包:
Compiler MSVC9 (Visual C++ 2008)

2、查看扩展使用的是TS/NTS  VC9也是选择合适的编的扩展包 
Zend Extension Build API220100525,TS,VC9
3、php的版本信息
4、根据上面3项的信息到官方下载.dll扩展包
5、将下载后的.dll文件复制到php的扩展目录中,这个信息也是可以通过phpinfo()函数来查看的。
extension_dir c:/wamp/bin/php/php5.4.12/ext/ c:/wamp/bin/php/php5.4.12/ext/
6、修改php的配置文件(php.ini)
extension=*.dll
【注意】很多时候,我们修改完配置文件之后重新启动Apache后还是不管用,甚至是删除php的配置文件还是没有出现任何问题,这个时候我们应该想到我们修改的加载的配置文件是不是有问题,因为在安装的时候,配置文件可能会出现修改。这个时候最权威的就是查看php的信息phpinfo();
Loaded Configuration File C:wampinapacheapache2.4.4inphp.ini
7、以上6部完成之后记得重新启动服务,加载php


二、Linux下编译安装php扩展
1、可以根据上述信息选择合适的源码包,这个要求不是很严格。
2、下载后的扩展包中没有configure文件,这个时候就是要自己用php生成
运行:/usr/local/php/bin/php.ize
这样就会生成comfigure文件
3、配置
因为每个软件的配置都可能不一样,这个时候就需要根据具体的情况来进行配置
./configure --help来获取配置信息,在配置的时候,出现什么问题就用这个命令获取帮助,在进行配置。这个时候基本上也用不上baidu,Google了,实在不行可以Google获取帮助。
注意:一般要配置--with-php-config=/usr/local/php/bin/php.config
4、编译make
5、安装make install(这个时候会出现安装后的.so文件目录)
6、修改配置文件
extension=make insall 安装后的.so文件目录如下面:
extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/memcache.so
7、重新启动服务(如果是nginx记得重新启动php进程)

原文地址:https://www.cnblogs.com/shiwenhu/p/4419089.html