无法使用 ddev 为 php7.4 启用 php-gmp

Joe*_*hoe 0 php linux debian php-7 ddev

由于此错误消息,the requested PHP extension gmp is missing from your system 我想使用DDEVgmp 扩展名添加到 php 7.4 。

首先,我.ddev/php/创建了一个99-gmp.ini文件夹并创建了一个文件。第二个我添加extension=php_gmp.so99-gmp.ini

我 ssh 登录ddev ssh并运行:

sudo apt install php-gmp

sudo apt-get install php-gmp

sudo apt-get install php7.4-gmp 并尝试了一些变体但未找到该包

搜索apt search php-gmp结果:

Reading package lists... DoneBuilding dependency tree Reading state information... Done E: Unable to locate package php-gmp

apt search gmp 结果是 3 个包,都已安装:

Full Text Search... Done

libgmp10/now 2:6.1.2+dfsg-4 amd64 [已安装,本地] 多精度算术库

libhogweed4/now 3.4.1-1 amd64 [已安装,本地] 低级密码库(公钥密码)

libnettle6/now 3.4.1-1 amd64 [已安装,本地] 低级加密库(对称和单向加密)

寻找 php7.4 扩展: apt search php7.4 由于某种原因gmp没有找到?

Sorting... Done Full Text Search... Done

libapache2-mod-php7.4/now 7.4.8-1+0~20200713.23+debian10~1.gbpb2c15c amd64 [已安装,本地] 服务器端,嵌入 HTML 的脚本语言(Apache 2 模块)

php7.4-bcmath/now 7.4.8-1+0~20200713.23+debian10~1.gbpb2c15c amd64 [已安装,本地] PHP Bcmath 模块

php7.4-bz2/now 7.4.8-1+0~20200713.23+debian10~1.gbpb2c15c amd64 [已安装,本地] PHP 的 bzip2 模块

php7.4-cgi/now 7.4.8-1+0~20200713.23+debian10~1.gbpb2c15c amd64 [已安装,本地] 服务器端,嵌入 HTML 的脚本语言(CGI 二进制)

php7.4-cli/now 7.4.8-1+0~20200713.23+debian10~1.gbpb2c15c amd64 [已安装,本地] PHP 脚本语言的命令行解释器

php7.4-common/now 7.4.8-1+0~20200713.23+debian10~1.gbpb2c15c amd64 [已安装,本地] 文档、示例和 PHP 通用模块

php7.4-curl/now 7.4.8-1+0~20200713.23+debian10~1.gbpb2c15c amd64 [已安装,本地] PHP CURL 模块

php7.4-fpm/now 7.4.8-1+0~20200713.23+debian10~1.gbpb2c15c amd64 [已安装,本地] 服务器端,嵌入 HTML 的脚本语言(FPM-CGI 二进制)

php7.4-gd/now 7.4.8-1+0~20200713.23+debian10~1.gbpb2c15c amd64 [已安装,本地] PHP GD 模块

php7.4-intl/now 7.4.8-1+0~20200713.23+debian10~1.gbpb2c15c amd64 [已安装,本地] PHP 国际化模块

php7.4-json/now 7.4.8-1+0~20200713.23+debian10~1.gbpb2c15c amd64 [已安装,本地] PHP JSON 模块

php7.4-ldap/now 7.4.8-1+0~20200713.23+debian10~1.gbpb2c15c amd64 [已安装,本地] PHP LDAP 模块

php7.4-mbstring/now 7.4.8-1+0~20200713.23+debian10~1.gbpb2c15c amd64 [已安装,本地] PHP MBSTRING 模块

php7.4-mysql/now 7.4.8-1+0~20200713.23+debian10~1.gbpb2c15c amd64 [已安装,本地] PHP MySQL 模块

php7.4-opcache/now 7.4.8-1+0~20200713.23+debian10~1.gbpb2c15c amd64 [已安装,本地]用于 PHP 的 Zend OpCache 模块

php7.4-pgsql/now 7.4.8-1+0~20200713.23+debian10~1.gbpb2c15c amd64 [已安装,本地] PHP PostgreSQL 模块

php7.4-phpdbg/now 7.4.8-1+0~20200713.23+debian10~1.gbpb2c15c amd64 [已安装,本地] 服务器端,嵌入 HTML 的脚本语言(PHPDBG 二进制)

php7.4-readline/now 7.4.8-1+0~20200713.23+debian10~1.gbpb2c15c amd64 [已安装,本地] PHP 的 readline 模块

php7.4-soap/now 7.4.8-1+0~20200713.23+debian10~1.gbpb2c15c amd64 [已安装,本地] PHP SOAP 模块

php7.4-sqlite3/now 7.4.8-1+0~20200713.23+debian10~1.gbpb2c15c amd64 [已安装,本地] PHP SQLite3 模块

php7.4-xml/now 7.4.8-1+0~20200713.23+debian10~1.gbpb2c15c amd64 [已安装,本地] 用于 PHP 的 DOM、SimpleXML、XML 和 XSL 模块

php7.4-xmlrpc/now 7.4.8-1+0~20200713.23+debian10~1.gbpb2c15c amd64 [已安装,本地] PHP XMLRPC-EPI 模块

php7.4-zip/now 7.4.8-1+0~20200713.23+debian10~1.gbpb2c15c amd64 [已安装,本地] PHP Zip 模块

项目信息

PHP 版本:7.4 操作系统:Debian 10 启用 NFS 挂载:false 数据库类型:mariadb MariaDB 版本:10.3

Nic*_*ase 5

通常,您应该通过添加webimage_extra_packages到配置中来添加包(请参阅文档):

webimage_extra_packages: [php7.4-gmp]
Run Code Online (Sandbox Code Playgroud)

使用 重新启动容器时ddev restart,将应用此配置并安装包。你试过这个吗?

使用这种方式有助于保持这个包与 ddev 使用的容器相关联。虽然将它添加到正在运行的容器(如您所做的那样)并没有明显错误,但如果您更改 PHP 版本或升级 ddev,该软件包将再次被删除。通过使用该配置,可以保证容器镜像发生变化时重新安装该包。