无法使用 ddev 为 php7.4 启用 php-gmp
unable to enable php-gmp for php7.4 with ddev
因为这条错误信息the requested PHP extension gmp is missing from your system
我想使用 DDEV.
将 gmp 扩展名 添加到 php 7.4
首先我创建了一个.ddev/php/
文件夹并创建了一个99-gmp.ini
文件。
其次,我将 extension=php_gmp.so
添加到 99-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 [已安装,本地]
低级密码库(public-密钥密码)
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 module)
php7.4-bcmath/now 7.4.8-1+0~20200713.23+debian10~1.gbpb2c15c amd64 [已安装,本地]
Bcmath module for PHP
php7.4-bz2/now 7.4.8-1+0~20200713.23+debian10~1.gbpb2c15c amd64 [已安装,本地]
bzip2 module 用于 PHP
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
的文档、示例和通用 mod 规则
php7.4-curl/now 7.4.8-1+0~20200713.23+debian10~1.gbpb2c15c amd64 [已安装,本地]
CURL mod 用于 PHP
的规则
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 [已安装,本地]
GD mod规则 PHP
php7.4-intl/now 7.4.8-1+0~20200713.23+debian10~1.gbpb2c15c amd64 [已安装,本地]
PHP
的国际化 mod 规则
php7.4-json/now 7.4.8-1+0~20200713.23+debian10~1.gbpb2c15c amd64 [已安装,本地]
JSON mod规则 PHP
php7.4-ldap/now 7.4.8-1+0~20200713.23+debian10~1.gbpb2c15c amd64 [已安装,本地]
PHP
的 LDAP module
php7.4-mbstring/now 7.4.8-1+0~20200713.23+debian10~1.gbpb2c15c amd64 [已安装,本地]
MBSTRING mod 用于 PHP
的规则
php7.4-mysql/now 7.4.8-1+0~20200713.23+debian10~1.gbpb2c15c amd64 [已安装,本地]
MySQL mod规则 PHP
php7.4-opcache/now 7.4.8-1+0~20200713.23+debian10~1.gbpb2c15c amd64 [已安装,本地]
Zend OpCache module for PHP
php7.4-pgsql/now 7.4.8-1+0~20200713.23+debian10~1.gbpb2c15c amd64 [已安装,本地]
PostgreSQL mod 用于 PHP
的规则
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 [已安装,本地]
readline module for PHP
php7.4-soap/now 7.4.8-1+0~20200713.23+debian10~1.gbpb2c15c amd64 [已安装,本地]
PHP
的 SOAP mod 规则
php7.4-sqlite3/now 7.4.8-1+0~20200713.23+debian10~1.gbpb2c15c amd64 [已安装,本地]
SQLite3 module for PHP
php7.4-xml/now 7.4.8-1+0~20200713.23+debian10~1.gbpb2c15c amd64 [已安装,本地]
DOM、简单XML、XML 和 PHP
的 XSL module
php7.4-xmlrpc/now 7.4.8-1+0~20200713.23+debian10~1.gbpb2c15c amd64 [已安装,本地]
XMLRPC-EPI mod用于 PHP
的规则
php7.4-zip/now 7.4.8-1+0~20200713.23+debian10~1.gbpb2c15c amd64 [已安装,本地]
为 PHP
压缩 module
项目信息
PHP版本:7.4
OS:Debian 10
启用 NFS 挂载:false
数据库类型:mariadb
MariaDB 版本:10.3
通常,您应该通过将 webimage_extra_packages
添加到您的配置中来添加包(请参阅 documentation):
webimage_extra_packages: [php7.4-gmp]
使用 ddev restart
重新启动容器时,将应用此配置并安装包。你试过这个吗?
使用这种方式有助于将此包与 ddev 使用的容器联系起来。虽然将它添加到 运行 容器(就像你所做的那样)并没有明显错误,但如果你更改 PHP 版本或升级 ddev,这个包将再次被删除。通过配置,可以保证容器镜像发生变化时,重新安装该包。
因为这条错误信息the requested PHP extension gmp is missing from your system
我想使用 DDEV.
首先我创建了一个.ddev/php/
文件夹并创建了一个99-gmp.ini
文件。
其次,我将 extension=php_gmp.so
添加到 99-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 [已安装,本地] 低级密码库(public-密钥密码)
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 module)
php7.4-bcmath/now 7.4.8-1+0~20200713.23+debian10~1.gbpb2c15c amd64 [已安装,本地] Bcmath module for PHP
php7.4-bz2/now 7.4.8-1+0~20200713.23+debian10~1.gbpb2c15c amd64 [已安装,本地] bzip2 module 用于 PHP
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
的文档、示例和通用 mod 规则php7.4-curl/now 7.4.8-1+0~20200713.23+debian10~1.gbpb2c15c amd64 [已安装,本地] CURL mod 用于 PHP
的规则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 [已安装,本地] GD mod规则 PHP
php7.4-intl/now 7.4.8-1+0~20200713.23+debian10~1.gbpb2c15c amd64 [已安装,本地] PHP
的国际化 mod 规则php7.4-json/now 7.4.8-1+0~20200713.23+debian10~1.gbpb2c15c amd64 [已安装,本地] JSON mod规则 PHP
php7.4-ldap/now 7.4.8-1+0~20200713.23+debian10~1.gbpb2c15c amd64 [已安装,本地] PHP
的 LDAP modulephp7.4-mbstring/now 7.4.8-1+0~20200713.23+debian10~1.gbpb2c15c amd64 [已安装,本地] MBSTRING mod 用于 PHP
的规则php7.4-mysql/now 7.4.8-1+0~20200713.23+debian10~1.gbpb2c15c amd64 [已安装,本地] MySQL mod规则 PHP
php7.4-opcache/now 7.4.8-1+0~20200713.23+debian10~1.gbpb2c15c amd64 [已安装,本地] Zend OpCache module for PHP
php7.4-pgsql/now 7.4.8-1+0~20200713.23+debian10~1.gbpb2c15c amd64 [已安装,本地] PostgreSQL mod 用于 PHP
的规则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 [已安装,本地] readline module for PHP
php7.4-soap/now 7.4.8-1+0~20200713.23+debian10~1.gbpb2c15c amd64 [已安装,本地] PHP
的 SOAP mod 规则php7.4-sqlite3/now 7.4.8-1+0~20200713.23+debian10~1.gbpb2c15c amd64 [已安装,本地] SQLite3 module for PHP
php7.4-xml/now 7.4.8-1+0~20200713.23+debian10~1.gbpb2c15c amd64 [已安装,本地] DOM、简单XML、XML 和 PHP
的 XSL modulephp7.4-xmlrpc/now 7.4.8-1+0~20200713.23+debian10~1.gbpb2c15c amd64 [已安装,本地] XMLRPC-EPI mod用于 PHP
的规则php7.4-zip/now 7.4.8-1+0~20200713.23+debian10~1.gbpb2c15c amd64 [已安装,本地] 为 PHP
压缩 module项目信息
PHP版本:7.4 OS:Debian 10 启用 NFS 挂载:false 数据库类型:mariadb MariaDB 版本:10.3
通常,您应该通过将 webimage_extra_packages
添加到您的配置中来添加包(请参阅 documentation):
webimage_extra_packages: [php7.4-gmp]
使用 ddev restart
重新启动容器时,将应用此配置并安装包。你试过这个吗?
使用这种方式有助于将此包与 ddev 使用的容器联系起来。虽然将它添加到 运行 容器(就像你所做的那样)并没有明显错误,但如果你更改 PHP 版本或升级 ddev,这个包将再次被删除。通过配置,可以保证容器镜像发生变化时,重新安装该包。