1.软文推荐

2.软文推荐

3.软文推荐

目录: 1、Docker php安装扩展步骤详解 2、php安装mqtt扩展【Mosquitto】 3、Docker PHP 安装扩展汇总 4、如何在编译好的PHP环境中安装PHP扩展模块 5、php 怎么安装扩展 6、如何编译安装PHP扩展 Docker php安装扩展步骤详解

Docker 中的PHP容器安装扩展的方式有

1、通过pecl方式安装

2、通过php 容器中自带的几个特殊命令来安装,这些特殊命令可以在Dockerfile中的RUN命令中进行使用。

docker-php-source extract | delete

参数说明:

案例:

命令格式:

docker-php-ext-install “源码包目录名”

注意点:

案例: php安装mqtt扩展【Mosquitto】

没有安装mosquitto的可以看一下链接先安装一下

MQTT服务器搭建-mosquitto1.4.4安装指南

然后我们来安装php扩展

如果你已经使用预先建立的软件包来安装Mosquitto,你需要确保你已经安装了开发头文件。在红帽派生的系统上,这可能是叫做libmosquitto-devel,在基于 Debian的系统上叫做libmosquitto-dev。

你可以使用pecl来来安装这个拓展包:

pecl install Mosquitto-alpha

1

或者,你也可以使用常规的安装拓展的方法来安装:

phpize

./configure --with-mosquitto=/path/to/libmosquitto

make

make install

1

2

3

4

然后添加extension=mosquitto.so到你的PHP配置文件php.ini中。

--with-mosquitto

1

是可选参数,只有当安装程序找不到libmosquitto拓展包,才需要添加这个参数

Docker PHP 安装扩展汇总

FROM php:7.2-fpm

Core, ctype, curl

date, dom

fileinfo, filter, ftp

hash

iconv

json

libxml

mbstring, mysqlnd

openssl

pcre, PDO, pdo_sqlite, Phar, posix

readline, Reflection, session, SimpleXML, sodium, SPL, sqlite3, standard

tokenizer

xml, xmlreader, xmlwriter

zlib

RUN docker-php-ext-install -j$(nproc) bcmath calendar exif gettext

sockets dba mysqli pcntl pdo_mysql shmop sysvmsg sysvsem sysvshm

RUN apt-get update

apt-get install -y --no-install-recommends libbz2-dev

rm -r /var/lib/apt/lists/*

docker-php-ext-install -j$(nproc) bz2

RUN apt-get update

apt-get install -y --no-install-recommends libenchant-dev

rm -r /var/lib/apt/lists/*

docker-php-ext-install -j$(nproc) enchant

RUN apt-get update

apt-get install -y --no-install-recommends libfreetype6-dev libjpeg62-turbo-dev libpng-dev

rm -r /var/lib/apt/lists/*

docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/

docker-php-ext-install -j$(nproc) gd

RUN apt-get update

apt-get install -y --no-install-recommends libgmp-dev

rm -r /var/lib/apt/lists/*

docker-php-ext-install -j$(nproc) gmp

RUN apt-get update

apt-get install -y --no-install-recommends libxml2-dev libtidy-dev libxslt1-dev

rm -r /var/lib/apt/lists/*

docker-php-ext-install -j$(nproc) soap wddx xmlrpc tidy xsl

RUN apt-get update

apt-get install -y --no-install-recommends libzip-dev

rm -r /var/lib/apt/lists/*

docker-php-ext-install -j$(nproc) zip

RUN apt-get update

apt-get install -y --no-install-recommends libsnmp-dev

rm -r /var/lib/apt/lists/*

docker-php-ext-install -j$(nproc) snmp

RUN apt-get update

apt-get install -y --no-install-recommends libpq-dev

rm -r /var/lib/apt/lists/*

docker-php-ext-install -j$(nproc) pgsql pdo_pgsql

RUN apt-get update

apt-get install -y --no-install-recommends libpspell-dev

rm -r /var/lib/apt/lists/*

docker-php-ext-install -j$(nproc) pspell

RUN apt-get update

apt-get install -y --no-install-recommends librecode-dev

rm -r /var/lib/apt/lists/*

docker-php-ext-install -j$(nproc) recode

RUN apt-get update

apt-get install -y --no-install-recommends firebird-dev

rm -r /var/lib/apt/lists/*

docker-php-ext-install -j$(nproc) pdo_firebird

RUN apt-get update

apt-get install -y --no-install-recommends freetds-dev

rm -r /var/lib/apt/lists/*

docker-php-ext-configure pdo_dblib --with-libdir=lib/x86_64-linux-gnu

docker-php-ext-install -j$(nproc) pdo_dblib

RUN apt-get update

apt-get install -y --no-install-recommends libldap2-dev

rm -r /var/lib/apt/lists/*

docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu

docker-php-ext-install -j$(nproc) ldap

RUN apt-get update

apt-get install -y --no-install-recommends libc-client-dev libkrb5-dev

rm -r /var/lib/apt/lists/*

docker-php-ext-configure imap --with-kerberos --with-imap-ssl

docker-php-ext-install -j$(nproc) imap

RUN apt-get update

apt-get install -y --no-install-recommends firebird-dev

rm -r /var/lib/apt/lists/*

docker-php-ext-install -j$(nproc) interbase

RUN apt-get update

apt-get install -y --no-install-recommends libicu-dev

rm -r /var/lib/apt/lists/*

docker-php-ext-install -j$(nproc) intl

RUN apt-get update

apt-get install -y --no-install-recommends libmcrypt-dev

rm -r /var/lib/apt/lists/*

pecl install mcrypt-1.0.1

docker-php-ext-enable mcrypt

RUN export CFLAGS=" PHP_CPPFLAGS" LDFLAGS="$PHP_LDFLAGS"

apt-get update

apt-get install -y --no-install-recommends libmagickwand-dev

rm -rf /var/lib/apt/lists/*

pecl install imagick-3.4.3

docker-php-ext-enable imagick

RUN apt-get update

apt-get install -y --no-install-recommends zlib1g-dev libmemcached-dev

rm -r /var/lib/apt/lists/*

pecl install memcached

docker-php-ext-enable memcached

RUN pecl install redis-4.0.1 docker-php-ext-enable redis

RUN docker-php-ext-configure opcache --enable-opcache docker-php-ext-install opcache

RUN set -ex;

docker-php-source extract;

{

echo '# ' ;

echo 'AC_DEFUN([PHP_ALWAYS_SHARED],[])dnl';

echo;

cat /usr/src/php/ext/odbc/config.m4;

} temp.m4;

mv temp.m4 /usr/src/php/ext/odbc/config.m4;

apt-get update;

apt-get install -y --no-install-recommends unixodbc-dev;

rm -rf /var/lib/apt/lists/*;

docker-php-ext-configure odbc --with-unixODBC=shared,/usr;

docker-php-ext-configure pdo_odbc --with-pdo-odbc=unixODBC,/usr;

docker-php-ext-install odbc pdo_odbc;

docker-php-source delete

LABEL Author="Leo"

LABEL Version="1.0.25-fpm"

LABEL Description="PHP FPM 7.2 镜像. All extensions."

如何在编译好的PHP环境中安装PHP扩展模块

安装步骤:

1、先进入php解压缩后的源码包中,找到要安装的扩展模块的目录。

[root@redhat5 sockets]# cd /home/soft/php-5.2.12/ext/sockets

在sockets目录下面以绝对路径运行phpize程序,这时会自动生成sockets的configure程序,在sockets目录下面可以看到。

[root@redhat5 sockets]# /home/webserver/php5.2.12/bin/phpize

2、进行编译安装

[root@redhat5 sockets]# ./configure --with-php-config=/home/webserver/php5.2.12/bin/php-config

[root@redhat5 sockets]#make

[root@redhat5 sockets]#make install

执行完make install屏幕上会提示sockets.so存放的路径,然后把它复制到php的extensions目录中,例如我的路径为 /home/webserver/php5.2.12/lib/php/extensions

3、修改php.ini文件

找到extension_dir = "./" 这行,修改为:

extension_dir = "/home/webserver/php5.2.12/lib/php/extensions/"

然后再新增加一行:

extension=sockets.so

4、重启apache即可生效。

其它模块的安装方法和这个一模一样,不管是php自带的扩展模块还是第三方扩展模块都照这种方法安装即可。

php 怎么安装扩展

在windows平台上,主要是三个步骤:

1、下载php扩展库文件;

一般在 上就有下载信息。

2、解压缩文件,将*.dll文件复制到PHP程序主目录下的“ext”或者“extension”目录。

3、打开php.ini文件,在“Dynamic Extensions”配置段中加上“extension=*.dll”,关闭文件,重新启动一下服务器就可以加载成功了。

如何编译安装PHP扩展

一开始安装PHP的时候,我们并不知道需要哪些扩展,所以只有等到我们真正用到的时候才想办法去安装。

安装PHP扩展最简单的办法就是

sudo apt-get install php5-xxx

但有的时候并非我们所愿,源里面并没有我们需要的扩展,这时候就需要我们下载源码自己编译安装了。

这篇文章中我将介绍在本地Linux平台下编译安装PHP扩展的方法。

现在网站根目录下创建 index.php 打印基本的配置信息,以验证我们是否安装成功。

配置编译环境

我们需要安装一些编译必须的库,还有 php-dev 版本

Ubuntu

sudo apt-get install php5-dev php5-mysql gcc libpcre3-dev

Fedora

sudo yum install php-devel php-mysqlnd gcc libtool

RHEL

sudo yum install php-devel php-mysql gcc libtool

Suse

yast2 -i php5-pear php5-devel php5-mysql gcc

安装扩展

PHP有两种可供安装的扩展:一种是PHP原生的但是默认没有安装的,另一种的第三方开发的扩展。

下面依次介绍两种扩展的安装方法:

安装之前我们需要一份和当前机器上相同版本的PHP源码

cd code

wget

tar xvjf php-5.5.9.tar.bz2

cd php-5.5.9

前往此处 下载相应的源码包。

在 /ext 目录下面可以看到所有PHP原生的扩展。

安装原生扩展

以 PHP-intl 为例,这是PHP国际化的扩展。

为了安装这个扩展我们需要先安装ICU 库

sudo apt-get install icu-devtools icu-doc libicu-dev libicu52 libicu52-dbg

ICU 安装成功之后进入/ext/intl 目录:

cd intl

phpize

./configure --enable-intl

make

sudo make install

下面解释一下上面的每个命令:

phpize : 是用来扩展php扩展模块的,通过phpize可以建立php的外挂模块

./configure --enable-intl: 配置编译环境,相当于告诉编译器编译PHP源码的时候加上intl这个扩展。

make: 将会把源码编译成 intl.so

make install : 将会把 intl.so 移动到当前安装的 PHP 的扩展目录。

接下来我们要做的就是在php.ini中启用这个扩展,这一步将会在最后给出示例。

安装第三方扩展

将以这个 扩展为例,这个扩展主要实现了PHP识别条形码的功能。

先安装必要的依赖

sudo apt-get install pkg-config

git clone

cd mongo-php-driver

phpize

./configure

make

sudo make install

将会生成一个文件,将其拷贝到PHP的扩展目录下面。

启用扩展

在php.ini中启用扩展的方式有很多:

直接在php.ini文件中添加 extension=mongo.so,这是最简单直接的方法。

也可以单独建一个ini文件,然后在php.ini中包含这些文件就可以了。

下面介绍一下第二种方法:

cd `/etc/php5/mods-available`

这个目录里可以放新建的ini文件,然后执行

sudo touch mongo.ini

echo "extension=mongo.so" | sudo tee -a mongo.ini

sudo touch intl.ini

echo "extension=intl.so" | sudo tee -a intl.ini

上面的命令将会创建ini文件,并且写如相应的配置信息。

然后执行下面的命令启用扩展即可(需要安装 php5enmod 工具):

sudo php5enmod mongo

sudo php5enmod intl

如果未安装 php5enmod 工具,则需要手动配置:

ln -s /etc/php5/mods-available/mongo.ini /etc/php5/cli/conf.d/mongo.ini

ln -s /etc/php5/mods-available/intl.ini /etc/php5/cli/conf.d/intl.ini

ln -s /etc/php5/mods-available/mongo.ini /etc/php5/fpm/conf.d/mongo.ini

ln -s /etc/php5/mods-available/intl.ini /etc/php5/fpm/conf.d/intl.ini

最后在执行一下重启操作就可以了:

sudo service nginx restart

sudo service php5-fpm restart

相关文章 8

1

RAKsmart美国G口大带宽服务器特惠价600元 43秒前

要说视频、下载类的站点用什么样的服务器来托管,那非大带宽服务器莫属了。美国服务器提供商们推出的G口大带宽服务器正好能满足这类...

2

GoDaddy域名注册优惠低至7元仅限2天(godaddy域名) 2分钟前

从全球域名注册服务商GoDaddy中文官网获悉,目前正在推出域名特价活动,共有十多种常见后缀域名参与特惠,其中.com域名注册首年仅需7元...

3

阿里云服务器更换操作系统(阿里云服务器系统可以更换吗) 5分钟前

目录:1、如何更换阿里云服务器操作系统?2、阿里云服务器怎么更换系统盘3、如何更换阿里云服务器操作系统4、阿里云服务器操作系统有哪...

4

按流量计费云主机贵吗(流量计费云主机) 6分钟前

按流量计费云主机贵吗?云主机按流量计费有可能会比按带宽计费贵,二者适用于不同的应用场景,选择哪种付费模式主要看你的应用实际...

5

青云QingCloud(青云qingcloud控制台) 8分钟前

目录:1、青云的意思 青云的解释2、青云是什么意思?3、诛仙手游青云技能加点推荐 青云技能怎么加点4、青云的意思5、青云计算机和Qin...

6

评测:WootHosting美国主机商怎么样?(评测计划) 11分钟前

美国主机商有很多,之前也陆陆续续为大家介绍过一些。今天要为大家介绍的WootHosting美国主机商,虽然成立时间不长,但产品主机却较为丰...

7

WordPress和Webflow哪个好 WordPress和Webflow的区别(wordpress的作用) 12分钟前

WordPress是目前最流行的开源内容管理系统(CMS)之一,它拥有庞大的主题和插件库,适用于建设不同类型的网站,包括博客、在线商店等。...

8

windows完美激活(WINDOWS系统激活) 14分钟前

目录:1、怎么激活windows系统激活windows系统的方法2、windows怎么激活?3、怎么激活windows 只需3步就可安全激活4、怎么激活Windows?怎么激活w...