docker部署php以后追加编译扩展模块的方法

使用docker部署php环境,部署好以后,php需要新增一些扩展模块的支持怎么办呢,以前在本地编译php的时候我们是用phpize来进行追加编译,然后将新编译的.so文件加到php.ini文件内的extension这里
docker部署的php环境比较特殊,需要用到docker-php-ext-install这个程序,整个用起来比较简单
首先我们登陆容器内部

docker exex -it lnmp-php bash
cd /usr/local/bin

那么我们添加pdo_mysql模块命令就是

./docker-php-ext-install pdo_mysql

2021-07-21_16-07.png

这样就安装好了,不需要你去php.ini这个配置文件中去配置
同时有些模块我们还需要配置依赖项,命令是docker-php-ext-configure,般都是需要跟 docker-php-ext-install搭配使用的

docker-php-ext-install -j$(nproc) iconv mcrypt

如果安装的扩展需要自定义配置时

docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/
docker-php-ext-install -j$(nproc) gd

除了上述docker-php-ext-install命令还有一个pecl命令
通过pecl安装的扩展是需要docker-php-ext-enable来启用这个扩展,同样也不需要你去php.ini这个配置文件中去配置
docker-php-ext-install可以安装有限的扩展,可以通过docker-php-ext-install --help查看available的扩展。目前可供docker-php-ext-install安装的扩展有

bcmath bz2 calendar ctype curl dba dom enchant exif fileinfo filter ftp gd gettext gmp hash iconv imap interbase intl json ldap mbstring mysqli oci8 odbc opcache pcntl pdo pdo_dblib pdo_firebird pdo_mysql pdo_oci pdo_odbc pdo_pgsql pdo_sqlite pgsql phar posix pspell readline recode reflection session shmop simplexml snmp soap sockets sodium spl standard sysvmsg sysvsem sysvshm tidy tokenizer wddx xml xmlreader xmlrpc xmlwriter xsl zend_test zip


内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://sulao.cn/post/791.html