linux 下给php安装扩展

来源:互联网 发布:linux oracle切换实例 编辑:程序博客网 时间:2024/05/29 02:18

php有很多扩展,mysqli扩展,redis扩展,curl扩展等等,需要的时候需要你手动安装。
查看php已经安装的扩展:

# php -m

php在常用 扩展在源码包的ext文件夹下有,需要的时候进去安装就行了。还有一些那个文件夹没有,就需要自己在网上下载安装,原理是一样的。下面,已安装curl扩展为例.

1.安装之前需要2个工具,一个是phpize(编译出configure文件用的),和php-config(编译扩展的时候要用。查看这2个工具的位置:

# which phpize# which php-config

我自己本机的路径分别 这样的:

/usr/local/php/bin/phpize  /usr/local/php/bin/php-config 

如果没有,只要安装php-devel(包含了phpize和php-config)就行了:

# yum -y install php-devel

2.接下来进入到源码包的ext目录下,里面有很多文件夹,每一个都是一个扩展。进入到curl扩展包里面:

# cd /usr/local/jw/php-7.1.5/ext/curl

3.执行命令(不执行的话,这个文件夹下面是没有configure文件的):

# /usr/local/php/bin/phpize

4.然后开始configure,:

# ./configure --with-php-config=/usr/local/php/bin/php-config

这一步可能会报错:

# configure: error: Please reinstall the libcurl distribution -easy.h should be in <curl-dir>/include/curl/

没关系,我们安装libcurl-devel就好了,yum安装就行:

# yum -y install libcurl-devel

然后再执行前面的操作:

# ./configure --with-php-config=/usr/local/php/bin/php-config

接着编译和安装:

# make # make install

安装成功后会显示下面的路径:

# Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/

运行下面命令:

# /usr/local/php/bin/php -i |grep 'extension_dir'  

结果是:

# extension_dir => /usr/local/php/lib/php/extensions/no-debug-non-zts-20160303 => /usr/local/php/lib/php/extensions/no-debug-non-zts-20160303sqlite3.extension_dir => no value => no value

可以发现,模块就是安装在extension_dir目录下。
接着修改php.ini配置:

# vim /usr/local/php/etc/php.ini 

找到extension=php_shmop.dll,该行下面添加如下信息:
extension=curl.so。
接着查看是否加载成功:

#  php -m | grep curl

如果出来curl说明没问题了,然后重启服务器就好了,可以访问phpinfo()去看curl扩展。