Llo*_*zer 13 php mamp php-extension composer-php php-gmp
如何在OSX上使用MAMP安装php 7.2.1的gmp扩展?
我正在尝试使用带有P-256曲线和SHA-256哈希算法的椭圆曲线数字签名算法(ECDSA)使用php和此库(lcobucci/jwt)加密令牌.
运行php脚本时出错:
Symfony \ Component \ Debug \ Exception \ FatalThrowableError (E_ERROR)
Class 'Mdanter\Ecc\EccFactory' not found
Run Code Online (Sandbox Code Playgroud)
我想我错过了mdanter/ecc依赖包,所以我尝试运行以下命令.
命令运行:
composer require mdanter/ecc
Run Code Online (Sandbox Code Playgroud)
输出:
mdanter/ecc v0.5.0 requires ext-gmp * -> the requested PHP extension gmp is missing from your system
Run Code Online (Sandbox Code Playgroud)
我已经尝试了一切我能找到的研究这个错误并与MAMP相关的内容.但我无法解决这个问题.这里有没有人有专门为MAMP添加gmp php扩展的经验,并愿意帮助我吗?
注意:我不是一个非常有经验的Web开发人员,我主要创建iOS应用程序,我想在php中生成令牌,因此我可以访问Apple Music Kit API资源.
abd*_*hid 18
这是我做的 2020
从源https://github.com/php/php-src/releases下载 php选择与您拥有的 MAMP PHP 版本匹配的版本。
复制您想要的扩展名。这里我们复制gmp目录。
将其粘贴到 /Applications/MAMP/bin/php/php7.4.1/include/php/ext
(确保移动到您的 MAMP php 版本目录)
cd /Applications/MAMP/bin/php/php7.4.1/include/php/ext/gmp
Run Code Online (Sandbox Code Playgroud)
然后运行 phpize 命令
/Applications/MAMP/bin/php/php7.4.1/bin/phpize
Run Code Online (Sandbox Code Playgroud)
第 5 步:
./configure --with-php-config=/Applications/MAMP/bin/php/php7.4.1/bin/php-config
Run Code Online (Sandbox Code Playgroud)
它输出以下
然后
make
Run Code Online (Sandbox Code Playgroud)
然后
make install
Run Code Online (Sandbox Code Playgroud)
它现在安装。
您可以通过以下方式确认
/Applications/MAMP/bin/php/php7.4.1/bin/php -i | grep gmp
Run Code Online (Sandbox Code Playgroud)
gmp 支持 => 启用
如果您没有看到启用 gmp 支持,您可能需要在 php.ini 中添加以下内容。
此命令将显示 MAMP php 使用哪个 php.ini 文件
/Applications/MAMP/bin/php/php7.4.1/bin/php -i | grep“php.ini”
添加 extension=gmp.so
重新启动 MAMP :)
在这里发布截图,https://mycodde.blogspot.com/2020/01/install-php-gmp-extension-in-mamp-2020.html
geo*_*xsh 14
你必须从php源构建gmp扩展.
你需要Xcode和自制软件,安装编译器工具链,gmp lib和autoconf:
brew install autoconf gmp
Run Code Online (Sandbox Code Playgroud)
由于我的MAPP附带了php 7.2.8,我会以这个php版本为例,你可以升级你的MAPP安装或替换与7.2.1相关的版本.下载并解压缩php(7.2.8)源代码到dir,然后根据你的php安装配置构建环境并构建扩展:
cd ext/gmp
/Applications/MAMP/bin/php/php7.2.8/bin/phpize
./configure --with-php-config=/Applications/MAMP/bin/php/php7.2.8/bin/php-config
make
make install
Run Code Online (Sandbox Code Playgroud)
扩展配置添加php.ini在/Applications/MAMP/bin/php/php7.2.8/conf:
extension=gmp.so
Run Code Online (Sandbox Code Playgroud)
现在这会工作:
/Applications/MAMP/bin/php/php7.2.8/bin/php composer.phar require mdanter/ecc
Run Code Online (Sandbox Code Playgroud)