前言
在刚开始安装php的时候我们不可能一下把所有的扩展全部装完但在开发的时候我们又需要某个扩展,这时候我们不可能把php重新卸载—加上对应扩展—安装—-那样太麻烦了,下面给大家介绍为安装好的php添加或者的方法。
这里我以安装memcached
扩展为例
查看你是否安装某个扩展
1.使用命令php -m
列出的扩展就是已安装的
2.使用函数phpinfo()
安装memcached 在这个网站下找到memcached扩展 https://pecl.php.net/
点击memcached扩展
列出可下载的版本,复制其链接地址
通过wget下载memcached扩展
下载完成后是一个.tgz的文件,这种文件相当于 tar.gz 我们解压拆包即可 gunzip memcached-3.1.5.tgz
tar xf memcached-3.1.5.tar
解压完成后进入到扩展目录 cd memcached-3.1.5
并没有configure,这怎么安装? 当我们要为已经编译安装好的php添加扩展时,我们要通过phpize辅助 phpize会根据当前扩展和php的版本为其添加一个configure文件,phpize存放在php的安装路径bin目录下,如我的 /usr/local/php/bin/phpize
扩展目录输入 /usr/local/php/bin/phpize
此时已经生成了一个configure文件
此时执行 ./configure --with-php-config=/usr/local/php/bin/php-config
将扩展添加到php 在编译的过程中报错了
大概意思是memcached依赖于libmemcached,接下来我们需要安装libmemcached并在编译的过程中告诉memcached libmemcached的路径,如果你安装的其他扩展没有依赖问题,可以跳过这一步
下载libmemcached https://libmemcached.org/libMemcached.html
选择版本复制链接地址 https://launchpad.net/libmemcached/1.0/1.0.18/ download/libmemcached-1.0.18.tar.gz
下面的操作就是下载--解压--拆包--编译安装,这里不在详细叙述 如果你在安装libmemcached中出现clients/memflush.cc: In function ‘int main(int, char**)’....
参照这个人的博客 https://blog.csdn.net/hualaoshuan/article/details/91891225 安装libmemcached后我们继续安装memcached
1.cd /usr/local/src/memcached-3.1.5
由于memcached依赖于libmemcached我们在后面添加了libmemcached的安装路径
2../configure --with-php-config=/usr/local/php/bin/php-config --with-libmemcached-dir=/usr/local/libmemcached
安装 3.make && make install
到这一步安装成功,并且给出了扩展的路径/usr/local/php/lib/php/extension........ 查看这个路径有个memcached.so文件
到这里我们要将memcached扩展添加到php.ini中 这里有两种方式 第一种直接添加扩展的绝对路径,如下 将这个文件的路径添加到php.ini中
第二种 在php.ini的大概750几行,添加存储扩展的目录
在开启对应扩展,去掉extension前面的分号,如果没有对应扩展需自行添加
重启php ps -aux | grep php
pkill -9 php
cd /usr/local/php/sbin
./php-fpm
重启nginx cd /usr/local/nginx/sbin
./nginx -s reload
到此php扩展添加成功 其他扩展类似