Sunday, March 6, 2022

[FIXED] PHP Version on the Command Line with MAMP for Windows

Issue

I run MAMP on my Mac at home, but on my work machine (Win7) I just started using MAMP for Windows so that I'm running the same (relatively speaking) software between the two machines. I was running some commands from the command line yesterday and noticed that the script was throwing errors because the mbstring extension wasn't loaded. I did some digging and am left scratching my head now...

In the browser, everything works fine. When I check the phpinfo, it's loading the configuration file just fine and mbstring is enabled. When I switch to the command line though, mbstring isn't in the list of modules (php -m). Also, when I do a php --ini, it tells me that no configuration file was loaded. I've added the correct PHP version to my PATH and running php -v gives me the version I expect, so I'm not really sure why PHP on the command line is acting differently from PHP in the browser.

Has anyone run into this before? How do I make PHP on the command line load the same configuration file that the browser is using?


Solution

Command line php (CLI) is a different executable to CGI PHP. It also uses typically a different php.ini file. You can however specify the location of the php.ini you would like to load when launching php cli:

php -c <path to your php.ini>

Have a look here.



Answered By - phpPhil

No comments:

Post a Comment

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