用phpize单独编译安装PHP扩展模块
2014-03-05 00:00
1026 查看
由于以 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模块这些,则必须得自己手动安装了。这个专题正是为了解决这些安装问题而编写的。
后面的参数仅仅指定了 PHP 的安装目录,配置文件的位置,还有启动 php-fpm 模式而已。一般更全的编译方式可以参考 自己源码编译安装的PHP如何卸载? 里提到的:
后面跟的参数是我们要的模块,但是随着工作的需要,我们如果还要增加一些模块,又不想重新编译php,这个时候我们就可以用phpize了。
其实流程很简单:
下载扩展,解压,编译,安装。
去到PHP的源码目录,比如cd php-5.3.6/ext/gd,执行 phpize 即可。
再举一个例子,假如你的 PHP 不支持mysql,php的源码包在/usr/local/src/php-5.2.6,php安装目录是/usr/local/php。
这个时候你会看到mysql.so被拷贝到某个目录, 把mysql.so拷贝到你的extension_dir指向的路径, 在php.ini里增加extension=mysql.so
重启web服务器,看一下phpinfo,应该支持mysql了。
关于FastCGI,PHP-CGI与PHP-FPM的相关知识,可以参考 概念了解:CGI,FastCGI,PHP-CGI与PHP-FPM。
关于PHP与php-fpm的安装,则可以参考 以源码编译的方式安装PHP与php-fpm。
以源码编译安装的PHP,很多时候都是最小化安装,甚至连mysqli扩展都没有。如果这个时候需要一些扩展,比如gd库,soap模块这些,则必须得自己手动安装了。这个专题正是为了解决这些安装问题而编写的。
phpize
还是参考前面的两篇文章,我们当时是这样编译安装 PHP 的:./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm
后面的参数仅仅指定了 PHP 的安装目录,配置文件的位置,还有启动 php-fpm 模式而已。一般更全的编译方式可以参考 自己源码编译安装的PHP如何卸载? 里提到的:
./configure --prefix=/usr/local/php-5.3.5 --with-config-file-path=/usr/local/php-5.3.5/etc --with-config-file-scan-dir=/usr/local/php-5.3.5/etc/conf.d --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-pear --with-curl --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv --with-mcrypt --with-mhash --with-zlib --with-xmlrpc --with-xsl --with-openssl --with-mysql --with-mysqli --with-pdo-mysql --disable-debug --enable-zip --enable-sockets --enable-soap --enable-mbstring --enable-magic-quotes --enable-inline-optimization --enable-memory-limit --enable-xml --enable-ftp --enable-exif --enable-wddx --enable-bcmath --enable-calendar --enable-sqlite-utf8 --enable-shmop --enable-dba --enable-sysvsem --enable-sysvshm --enable-sysvmsg make && make install
后面跟的参数是我们要的模块,但是随着工作的需要,我们如果还要增加一些模块,又不想重新编译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。
cd /usr/local/src/php-5.2.6 cd ./ext/mysql /usr/local/php/bin/phpize ./configure –with-php-config=/usr/local/php/bin/php-config make make install
这个时候你会看到mysql.so被拷贝到某个目录, 把mysql.so拷贝到你的extension_dir指向的路径, 在php.ini里增加extension=mysql.so
重启web服务器,看一下phpinfo,应该支持mysql了。
相关文章推荐
- phpize为php在不重新编译php情况下安装模块openssl
- 通过phpize为php在不重新编译php情况下安装模块openssl
- Linux下单独编译安装PHP扩展包
- 如何在编译好的PHP环境中安装PHP扩展模块
- Linux下单独编译安装php且支持mysql扩展
- 用phpize编译动态扩展模块
- linux 下php扩展模块的单独编译
- 不重新编译PHP,单独添加扩展模块的方法
- linux下通过phpize为php在不重新编译php情况下安装模块memcache
- CentOS单独编译安装PHP gd库扩展
- 安装php扩展模块之phpize
- Centos 7(Linux)环境下安装PHP(编译添加)相应动态扩展模块so(以openssl.so为例)
- Centos 7(Linux)环境下安装PHP(编译添加)相应动态扩展模块so(以openssl.so为例)
- CentOS单独编译安装PHP gd库扩展
- php7 编译安装,添加扩展 pdo /usr/local/php/bin/phpize 发现没有 configure
- CentOS单独编译安装PHP gd库扩展
- [转载~笔记]CentOS单独编译安装PHP gd库扩展
- phpize 编译安装php扩展的时候出现Cannot find autoconf的解决方法
- CentOS单独编译安装PHP gd库扩展
- linux下使用phpize编译安装mcrypt扩展