Centos下,PHP有多种方式来安装拓展, 主要有 包管理式的yum安装、pecl安装, 以及底层的源码编译安装。
包管理式的安装卸载尤为方便,而源码编译式的安装则方便参数调优。
一般的搭建本机开发环境推荐包管理式的安装,节约时间。而线上部署环境则推荐编译安装, 方便调优。
yum安装
## yum方式安装能自动安装拓展的.so动态库,并配置好php.ini
# 如安装mysql拓展
yum search mysql|grep php #我们搜索到拓展名为 php-mysql.x86_64
sudo yum install php-mysql #这样php-mysql拓展便安装好了
# 如果出现拓展版本和php版本冲突问题, 可安装如下任意yum源:
sudo yum install atomic-release.noarch
sudo yum install webtatic-release.noarch
# 这些源提供了其他版本的php拓展,同时每个源针对特定拓展都会提供多个版本,你只需安装一个源即可。如:
atomic源下能搜索到5.4版的mysql拓展 atomic-php54-php-mysql.x86_64
webtatic源下能搜索到5.5版本的mysql拓展 php55w-mysql.x86_64
pecl安装
# 我们需要先从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-set php_ini /etc/php.ini
pear config-set php_ini /etc/php.ini
#确认一下,配置起效
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
源码编译安装
# 以安装phpredis拓展为例
git clone https://github.com/phpredis/phpredis.git # 下载phpredis源码
cd phpredis/
phpize
./configure
make & make install
cp rpm/redis.ini /etc/php.d/redis.ini
检查mysql拓展是否安装成功
php -i | grep mysql
成功安装后上面命令将显示一个节区的mysql拓展状态信息。
但拓展加载到运行环境中还需要你重启 web服务 亦或是 php-fpm
来源:oschina
链接:https://my.oschina.net/u/2400083/blog/518195