用phpize单独编译安装PHP扩展模块

服务器君一共花费  16.894 ms 进行了  3 次数据库查询,努力地为您提供了这个页面。
  1. Chapter: PHP扩展模块安装
    1. 1. 用phpize单独编译安装PHP扩展模块

由于以 php-fpm + Nginx 方式跑 PHP 要比 FastCGI + Apache 要高效得多,所以很多人会选择 Nginx,并以 php-fpm 的方式跑 PHP。选择这种方式,很多时候就需要自己源码编译 PHP 并安装。

  • 关于FastCGI,PHP-CGI与PHP-FPM的相关知识,可以参考 概念了解:CGI,FastCGI,PHP-CGI与PHP-FPM。
  • 关于PHP与php-fpm的安装,则可以参考 以源码编译的方式安装PHP与php-fpm。

以源码编译安装的PHP,很多时候都是最小化安装,甚至连mysqli扩展都没有。如果这个时候需要一些扩展,比如gd库,soap模块这些,则必须得自己手动安装了。这个专题正是为了解决这些安装问题而编写的。

phpize

还是参考前面的两篇文章,我们当时是这样编译安装 PHP 的:

1 ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm

后面的参数仅仅指定了 PHP 的安装目录,配置文件的位置,还有启动 php-fpm 模式而已。一般更全的编译方式可以参考 自己源码编译安装的PHP如何卸载? 里提到的:

01 ./configure --prefix=/usr/local/php-5.3.5
02 --with-config-file-path=/usr/local/php-5.3.5/etc
03 --with-config-file-scan-dir=/usr/local/php-5.3.5/etc/conf.d
04 --enable-fpm
05 --with-fpm-user=www
06 --with-fpm-group=www
07 --with-pear
08 --with-curl
09 --with-gd
10 --with-jpeg-dir
11 --with-png-dir
12 --with-freetype-dir
13 --with-iconv
14 --with-mcrypt
15 --with-mhash
16 --with-zlib
17 --with-xmlrpc
18 --with-xsl
19 --with-openssl
20 --with-mysql
21 --with-mysqli
22 --with-pdo-mysql
23 --disable-debug
24 --enable-zip
25 --enable-sockets
26 --enable-soap
27 --enable-mbstring
28 --enable-magic-quotes
29 --enable-inline-optimization
30 --enable-memory-limit
31 --enable-xml
32 --enable-ftp
33 --enable-exif
34 --enable-wddx
35 --enable-bcmath
36 --enable-calendar
37 --enable-sqlite-utf8
38 --enable-shmop
39 --enable-dba
40 --enable-sysvsem
41 --enable-sysvshm
42 --enable-sysvmsg
43 make && make install

后面跟的参数是我们要的模块,但是随着工作的需要,我们如果还要增加一些模块,又不想重新编译php,这个时候我们就可以用phpize了。

如何使用 phpize

phpize 是属于 php-devel 中的东西,主要是设定 php 外挂模块的一些设定。一个实际例子可以看看这个 CentOS单独编译安装PHP gd库扩展。

其实流程很简单:

  1. 下载扩展,解压,编译,安装。
  2. 去到PHP的源码目录,比如cd php-5.3.6/ext/gd,执行 phpize 即可。

再举一个例子,假如你的 PHP 不支持mysql,php的源码包在/usr/local/src/php-5.2.6,php安装目录是/usr/local/php。

1 cd /usr/local/src/php-5.2.6
2 cd ./ext/mysql
3 /usr/local/php/bin/phpize
4  
5 ./configure –with-php-config=/usr/local/php/bin/php-config
6 make
7 make install

这个时候你会看到mysql.so被拷贝到某个目录, 把mysql.so拷贝到你的extension_dir指向的路径, 在php.ini里增加extension=mysql.so

重启web服务器,看一下phpinfo,应该支持mysql了。

你可能感兴趣的:(用phpize单独编译安装PHP扩展模块)