php编译安装扩展


有时候安装好php发现缺少自己需要的库,有时候刚刚安装完发现漏掉了扩展的参数,有时候使用一键安装程序不知怎么就装好了,有时候...
我们总是会疏忽大意,当然令人恐怖的是要重新配置运行环境,最近就在帮朋友的过程中遇到了这个问题,需要使用pcntl,我之前遇到过这个问题,没有整理下来,下面把安装过程简单整理一下,方便以后使用。

cd {path_to_src}/pcntl
{php_cmd_path}phpize
./configure --with-php-config={php_cmd_path}/php-config
make && make install

通常的命令如下:

/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install

默认会直接把扩展配置好,如果执行php -m 没有看到pcntl 可以手动添加pcntl.so到php.ini中在查看
注意:此时phpize要以目标php版本为准,必要时使用完整路径,我遇见的一个系统里有两个php版本,一个是编译安装的,一个是通过包管理器安装的。

查看php扩展目录:

{file_path}/php-config --extension-dir

phpize简介

phpize 是属于 php-devel 中的东西,主要是设定 php 外挂模块的一些设定

所以安装 php-devel 相关套件就会有 phpize 可以使用 (档案预设存放于 /usr/bin/phpize )

phpize 命令是用来准备 PHP 外挂模块的编译环境的

php-config

php-config 是一个简单的命令行脚本用于获取所安装的 PHP 配置的信息。

在编译扩展时,如果安装有多个 PHP 版本,可以在配置时用 --with-php-config 选项来指定使用哪一个版本编译,该选项指定了相对应的 php-config 脚本的路径。

编译错误

如在执行  ./configure 时出现  not find –with-php-config 时,

可重下以下指令,因 –with-php-config 预设在 /usr/bin/php-config 可找到

./configure –with-php-config=/usr/bin/php-config

参考:PECL 扩展库安装

Archives