Friday, January 7, 2022

[FIXED] How to install gmp extension for php 7.2 using MAMP on OSX

Issue

How to install gmp extension for php 7.2.1 using MAMP on OSX?

I'm trying to encrypt a token with php and this library(lcobucci/jwt) using the Elliptic Curve Digital Signature Algorithm (ECDSA) with the P-256 curve and the SHA-256 hash algorithm.

error when running php script:

Symfony \ Component \ Debug \ Exception \ FatalThrowableError (E_ERROR)
Class 'Mdanter\Ecc\EccFactory' not found

I figured that I'm missing the mdanter/ecc dependicy package, so I tried running the following command.

command running:

composer require mdanter/ecc

output:

mdanter/ecc v0.5.0 requires ext-gmp * -> the requested PHP extension gmp is missing from your system

I've tried everything I could find researching this error and related to MAMP. But I couldn't solve this problem. Is there anyone here who has experience in adding the gmp php extension to MAMP specificly and is willing to help me out?

Note: I'm not a very experienced web developer, I mostly create iOS apps and I want to generate a token in php, so I can access the Apple Music Kit API resources.


Solution

Here is how i did in 2020

Download php from source https://github.com/php/php-src/releases pick the version which is matching with MAMP PHP version you have.

Copy the extension you want. Here we are copying gmp directory.

Paste it to /Applications/MAMP/bin/php/php7.4.1/include/php/ext

(Make sure to move to your MAMP php version directory)

cd /Applications/MAMP/bin/php/php7.4.1/include/php/ext/gmp

Then run phpize command

/Applications/MAMP/bin/php/php7.4.1/bin/phpize

Step 5:

./configure --with-php-config=/Applications/MAMP/bin/php/php7.4.1/bin/php-config

It outputs following

Then

make

Then

make install

Its installed now.

You can confirm it by

/Applications/MAMP/bin/php/php7.4.1/bin/php -i | grep gmp

gmp support => enabled

If you didn't see gmp support enabled, you may need to add following to php.ini.

This command will show you which php.ini file is used by MAMP php

/Applications/MAMP/bin/php/php7.4.1/bin/php -i | grep "php.ini"

Add extension=gmp.so

Restart MAMP :)

Posted here with screenshots, https://mycodde.blogspot.com/2020/01/install-php-gmp-extension-in-mamp-2020.html



Answered By - abdul rashid

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.