2022
我们一起努力

安装php扩展(php如何安装扩展)

目录:

  • 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

赞(0)
文章名称:《安装php扩展(php如何安装扩展)》
文章链接:https://www.fzvps.com/147116.html
本站文章来源于互联网,如有侵权,请联系管理删除,本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
图片版权归属各自创作者所有,图片水印出于防止被无耻之徒盗取劳动成果的目的。

评论 抢沙发

评论前必须登录!