当前位置: 首页 > news >正文

买书的网站排名网站注册步骤

买书的网站排名,网站注册步骤,网站建设 长安镇,安装好采集侠网站地图后在哪里查看网站地图docker环境下php安装扩展步骤 以mysqli为例 1.0 前言2.0 php 扩展安装原理3.0 docker 环境下 php 扩展安装3.1 docker php 容器扩展安装路径及原理3.2 docker php 扩展脚本安装过程 同步发布在个人笔记[docker环境下php安装扩展步骤 以mysqli为例]( https://blog.lichenrobo.co…

docker环境下php安装扩展步骤 以mysqli为例

  • 1.0 前言
  • 2.0 php 扩展安装原理
  • 3.0 docker 环境下 php 扩展安装
    • 3.1 docker php 容器扩展安装路径及原理
    • 3.2 docker php 扩展脚本安装过程

同步发布在个人笔记[docker环境下php安装扩展步骤 以mysqli为例]( https://blog.lichenrobo.com/server-net/server-deploy/docker-php-ext/ ‎)

1.0 前言

最近在折腾服务器的时候,希望一个 web 应用可以实现对数据库的操作,很容易就想到用 php 来实现,因为php 有方便的 mysql 数据库支持(php7 后应为 mysqli )。但是 run 的时候发现 docker 的 php-fpm 镜像生成的容器没有安装 mysqli 扩展,需要手动配置。故有此笔记。

2.0 php 扩展安装原理

PHP扩展实际上是用C语言编写的动态链接库,用以增强PHP的功能。所以安装 php 扩展就是布置例如 mysqli.so 这样的动态链接库文件,并告知 php 文件位置,使其能够找到就成功了。
那么很显然的一种方法就是下载 mysqli 的源码并编译,然后在 php.ini 中配置相关信息。(可见从源码安装还是挺方便的,apt 的安装方式是方便,但是配置起来不太自由。)

然而 docker 里 php-fpm 镜像是已经安装好的,我们最好在此基础上进行安装,并且进入容器内部不算很方便,有时我们希望可以通过 dockerfile 或者 docker compose 的方式直接搞定扩展的事情。docker 镜像为我们提供了这样方便的选择,那就是一系列自带的安装脚本:

docker-php-source
docker-php-ext-enable 
docker-php-ext-install  
docker-php-ext-configure  

利用这些脚本我们就可以方便的配置 php 扩展,无需再去修改 php.ini 文件了;同时也使得我们可以通过 dockerfile 或者 docker compose 的方式在容器创建之初就配置好环境。

3.0 docker 环境下 php 扩展安装

以进入容器的方式安装 mysqli 为例。
首先我们可以通过命令 docker exec -it php-fpm_container bash 进入容器内部,运行命令 php -m 查看已经安装配置过的扩展。
此时显然列表里面没有 mysqli

3.1 docker php 容器扩展安装路径及原理

容器内和扩展安装有这么几个关键的文件路径

  • /usr/src/
    存放 php 源码。在初始状态只有源码压缩包,安装过程会生成 ./php 源码文件夹。
  • /usr/src/php/ext/
    生成的源码文件夹里各种扩展的源码文件所在处,以 mysqli 为例,源码就在 /usr/src/php/ext/mysqli 路径下。
  • /usr/local/lib/php/extensions/no-debug-non-zts-20xxxxxx
    安装扩展后,生成的动态链接库文件所在的位置,php 需要知道这个位置以便调用扩展。
  • /usr/local/bin
    docker-php 扩展安装脚本文件所在处。

整个安装原理就是:
解压获得扩展源码编译源码并把动态链接库文件放在指定位置配置php文件使其成功链接库文件

3.2 docker php 扩展脚本安装过程

Step 1 docker-php-source
虽然在容器内任意位置都可以运行这些脚本,但是我们还是去脚本所在的目录下看一下

$ cd /usr/local/bin
$ ls
docker-php-entrypoint     docker-php-ext-enable   docker-php-source  pear     pecl  phar.phar  php-config
docker-php-ext-configure  docker-php-ext-install  flask          peardev  phar  php        phpize

这里面就包含用到的所有脚本了。

第一步就是解压出所需的mysqli扩展源码。

$ docker-php-source extract
$ cd /usr/src
$ ls
php  php.tar.xz  php.tar.xz.asc
$ cd php/ext/
$ ls
...    mysqli    ...

进入路径 /usr/src/php/ext/ 能看到 mysql 源码文件夹,第一步就完成了。
注:docker-php-source delete 可以删除源码文件夹。

Step 2 docker-php-ext-install
mysqli 扩展是 php 源码里面就有的扩展,所以我们执行完第一步就有源码了,对于小众一些的非自带源码,我们就需要手动把源码文件夹布置在 /usr/src/php/ext/ 下,即可进行下一步。

$ docker-php-ext-install mysqli		# 后面参数是扩展源码的目录名
$ php -m
[PHP Modules]
...
mysqli
...[Zend Modules]

查看已安装扩展,就已经能看到 mysqli 扩展了。

Step 3 docker-php-ext-enable
这个命令实际上在上一步 install 后已经自动运行过了,所以新安装的扩展无需运行此步。对于有时不需要有时需要的扩展,可以通过 enable 来使能扩展功能。

$ docker-php-ext-enable mysqli		# 后面参数是扩展源码的目录名

实际意义可以类比为在 php.ini 文件中配置了相关扩展的功能。

Step 4 docker-php-ext-configure
当安装扩展的时候,如果需要自定义配置时,则可以在 docker-php-ext-install 后面使用。具体用法就看不同扩展的需求了。 mysqli 无需此步。

$ docker-php-ext-configure .........

安装完成。

http://www.hkea.cn/news/84097/

相关文章:

  • 民治专业做网站公司中国企业500强排行榜
  • 潍坊 公司 网站seo点击排名器
  • 网站可以做赌博广告建站宝盒
  • 运城市做网站英文seo外链
  • 江宁网站建设如何建立网上销售平台
  • 淄博企业网站建设有限公司搜索引擎关键词竞价排名
  • 网站的优点企业专业搜索引擎优化
  • 哪里有软件开发培训机构无锡seo培训
  • 网站怎么做反链seo是什么品牌
  • 技术型网站做哪一种好软文范例大全100
  • 百度搜索什么关键词能搜到网站seo高效优化
  • 网站搭建分站需要多少钱互联网营销策划
  • 音乐网站的音乐怎么做seo先上排名后收费
  • 清河做网站报价seo实战培训王乃用
  • wordpress 回收站在哪个文件夹营销方式和手段
  • 垂直型电商网站如何做快速排名软件哪个好
  • 做产品推广有网站比较好的免费自助建站平台
  • 番禺网站建设公司排名百度推广页面投放
  • 沈阳做微网站百度收录刷排名
  • 网站建设与管理技术发展seo是什么意思如何实现
  • 手机游戏开发制作公司最新seo视频教程
  • 网站优化过度被k长春seo排名公司
  • wordpress移除谷歌字体seo网站推广与优化方案
  • 十大景观设计公司排名seo权重查询
  • 水友做的yyf网站十大免费引流平台
  • 东莞公司网站制作百度识图网页版 在线
  • 企业级网站内容管理解决方案网站关键词快速排名服务
  • 影视采集网站怎么做收录关键词是网站seo的核心工作
  • 开发一个网站需要多少时间百度账号免费注册
  • 化妆品网站主页设计长沙关键词优化方法