linux下给php安装扩展docker查询php.ini


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

# php -m

php在常用 扩展在源码包的ext文件夹下有,需要的时候进去安装就行了;如果没有,就自己去http://pecl.php.net下载,原理是一样的。下面,已安装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-20160303
sqlite3.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扩展。

方式二:使用pecl安装php扩展
1.去官网 :http://pecl.php.net/ 然后搜索需要安装的扩展包

2.比如搜索swoole,搜索结果如下:

3 如果想安装版本为1.9.23的,就使用下列命令:
pecl install swoole-1.9.23
4 安装完成后,还需要编辑 php.ini 文件,在文件的最后面加入以下内容(注:有时候不用加,自动加上去了)
[swoole]
extension=swoole.so

ps:查看php.ini路径命令: php -i |grep php.ini


自己可以用 find / -name php 命令找到。

php --ini

也可以使用 php -i|grep php.ini 查找

除了 php.ini 的配置文件都在 /usr/local/etc 中

php.ini 需要自己添加

其实lz可以用 find / -name php 在找相应的文件

也可以去docker hub 中的php镜像 中查找官网文档。

php的配置文件如图所示

/usr/local/etc
|-- log
| `-- php-fpm
| `-- xdebug.log
|-- pear.conf
|-- php
| |-- conf.d
| | |-- docker-php-ext-gd.ini
| | |-- docker-php-ext-mysqli.ini
| | |-- docker-php-ext-opcache.ini
| | |-- docker-php-ext-pdo_mysql.ini
| | |-- docker-php-ext-redis.ini
| | |-- docker-php-ext-sodium.ini
| | |-- docker-php-ext-xdebug.ini
| | |-- docker-php-ext-yaf.ini
| | `-- docker-php-ext-zip.ini
| `-- php.ini
|-- php-fpm.conf
|-- php-fpm.conf.default
`-- php-fpm.d
|-- docker.conf
|-- www.conf
|-- www.conf.default
`-- zz-docker.conf

 

 

声明:祁志飞||小祁的博客|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - linux下给php安装扩展docker查询php.ini


QQ:137867590