服务器君一共花费
16.894 ms 进行了
3 次数据库查询,努力地为您提供了这个页面。
由于以 php-fpm + Nginx 方式跑 PHP 要比 FastCGI + Apache 要高效得多,所以很多人会选择 Nginx,并以 php-fpm 的方式跑 PHP。选择这种方式,很多时候就需要自己源码编译 PHP 并安装。
以源码编译安装的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 |
29 | --enable-inline-optimization |
后面跟的参数是我们要的模块,但是随着工作的需要,我们如果还要增加一些模块,又不想重新编译php,这个时候我们就可以用phpize了。
如何使用 phpize
phpize 是属于 php-devel 中的东西,主要是设定 php 外挂模块的一些设定。一个实际例子可以看看这个 CentOS单独编译安装PHP gd库扩展。
其实流程很简单:
- 下载扩展,解压,编译,安装。
- 去到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 |
3 | /usr/local/php/bin/phpize |
5 | ./configure –with-php-config=/usr/local/php/bin/php-config |
这个时候你会看到mysql.so被拷贝到某个目录, 把mysql.so拷贝到你的extension_dir指向的路径, 在php.ini里增加extension=mysql.so
重启web服务器,看一下phpinfo,应该支持mysql了。