PHP有多种方式来安装拓展, 主要有 包管理式的yum安装、pecl安装, 以及底层的源码编译安装。
包管理式的安装卸载尤为方便,而源码编译式的安装则方便参数调优。
一般的搭建本机开发环境推荐包管理式的安装,节约时间。而线上部署环境则推荐编译安装, 方便调优。
## yum方式安装能自动安装拓展的.so动态库,并配置好php.ini# 如安装mysql拓展yum search mysql|grep php #我们搜索到拓展名为 php-mysql.x86_64sudo yum install php-mysql #这样php-mysql拓展便安装好了# 如果出现拓展版本和php版本冲突问题, 可安装如下任意yum源:atomic-release.noarchwebtatic-release.noarch# 这些源提供了其他版本的php拓展,同时每个源针对特定拓展都会提供多个版本,你只需安装一个源即可。如:atomic源下能搜索到5.4版的mysql拓展 atomic-php54-php-mysql.x86_64 webtatic源下能搜索到5.5版本的mysql拓展 php55w-mysql.x86_64
# 我们需要先从pear官网下载 go-pear 工具# 这个工具将帮我们同时安装 pecl包管理器(管理php的C拓展) pear包管理器(管理php类库)wget http://pear.php.net/go-pear.phar# 安装工具# 安装过程除非特别指定,否则默认将工具安装到 /home/用户名/pear/bin 目录下php go-pear.phar# 将工具目录添加到环境变量中# 编辑/etc/profile 追加一行配置export PATH=$PATH:/home/用户名/pear/bin# 加载环境配置source /etc/profile# 配置工具的php_ini选项,这样安装拓展时pecl工具就能帮我们自动配置php.ini文件了# vim /home/用户名/pear/share/pear/PEAR/Config.php# 搜索php_ini, default键修改为你的php.ini文件路径: 'php_ini' => array( 'type' => 'file', 'default' => '/etc/php.ini', 'doc' => 'location of php.ini in which to enable PECL extensions on install', 'prompt' => 'php.ini location', 'group' => 'File Locations (Advanced)', ), #确认一下,配置起效pecl config-get php_ini #配置成功将显示 /etc/php.ini# 搜索mysql拓展pecl search mysql# 这时一般会提示我们更新工具, 则我们依据提示进行更新sudo pecl channel-update pecl.php.net# 再次搜索mysql拓展, 成功pecl search mysql# 安装拓展pecl install mysql
# 概略讲解, 下次补充# 下载拓展源码,进入源码目录, 执行phpize指令生成编译配置文件 configure 检测脚本, # 执行 configure脚本 结合参数 生成 编译配置文件makefile# make & make install 生动该拓展的动态库# 迁移生成的拓展动态库 .so 文件到php.ini中配置好的extension_dir中# php.ini 增加一个节区该拓展的配置信息
检查mysql拓展是否安装成功
php -i | grep mysql
成功安装后上面命令将显示一个节区的mysql拓展状态信息。
但拓展加载到运行环境中还需要你重启 web服务 亦或是 php-fpm