1

Im trying to edit a web app on my local host and I am getting the following error: Call to undefined function imap_open()

I believe this is because I may not have imap installed or activated on my localhost. I am currently running Mac OS Sierra and MAMP (not MAMP Pro)

I find some things online for older versions of Mac OS or using Brew but I don't use brew, is this necessary to get imap working on my setup? Can someone help me so I don't run into these imap issues?

Derek
  • 4,747
  • 7
  • 44
  • 79
  • @shaggy The accepted answer on that suggest editing your php.ini on XAMP on Windows 7, I am using MAMP on Mac OSX - furthermore, I looked at the php.ini file and this line: `extension=imap.so` is not commented out; I don't think these are asking the same things as one is trying to debug the error and I just need to know how to get imap working with MAMP on my OS. I used the error as a reference point but could easily show another imap error if it helps – Derek Apr 29 '17 at 20:09
  • it doesn't matter, if you are using Windows or Mac. php.ini is same on both systems. You didn't mention the part about `extentsion=imap.so` in your question, so I've pointed you to solution that could help. – shaggy Apr 29 '17 at 20:28

2 Answers2

0

I also had extension=imap.so set in the PHP.ini file, but IMAP still wasn't supported. I finally found what worked for me and hopefully will for your situation as well.

The next thing to make sure of is that extension_dir is correctly set in the same PHP.ini file. Mine was set to MAMP_extension_dir_MAMP. I didn't see where this variable was set. I replaced it with "/Applications/MAMP/bin/php/php5.3.29/lib/php/extensions/no-debug-non-zts-20090626/" and now when I look up phpinfo() page I see that IMAP is enabled.

replace php5.3.29 with your php version and no-debug-non-zts-20090626 with whatever folder name you see in the extensions folder.

Derek Joseph Olson
  • 738
  • 1
  • 7
  • 22
0

It's an old question but this might help someone.

use <?php phpinfo(); ?> to checkout if the following files point to the same path. Also the php.ini has the line of extension=imap.so uncommented. And finally, in the Additional .ini fields parsed you should see the IMAP location, if there is nothing there, it means that php isn't loading the IMAP.

In my case I run this in the terminal to fix it:

brew tap kabel/php-ext
brew install php-imap
brew install php@7.1-imap
zuking
  • 1
  • 2