Adding IMAP to PHP 7.2 on OSX

后端 未结 5 932
走了就别回头了
走了就别回头了 2021-01-02 01:12

I\'m using PHP 7.2 on OS X El Capitan, installed using Homebrew (of course). Now I\'d like to use some IMAP functions from PHP\'s IMAP extension, but no matter what I search

相关标签:
5条回答
  • 2021-01-02 01:58

    This answer for those who prefer installing imap ext using native commands without adding other taps or smth else.

    In short we need to compile extension from sources. Ok, here is the process.

    $ # Download sources from php.net of already installed php version. 
    $ cd ~/Downloads
    $ wget https://www.php.net/distributions/php-7.3.5.tar.gz
    $ gunzip php-7.3.5.tar.gz
    $ tar xvf php-7.3.5.tar
    $ # Go to ext dir 
    $ cd php-7.3.5/ext/imap
    $ # prepare extension using phpize command, you should 
    $ # ensure that you use phpize of proper version from 
    $ # already installed php version as checking the API version for example
    $ phpize
    $ # prepare dependencies
    $ # install openssl and imap
    $ brew install openssl
    $ brew install imap-uw
    $ # after all installation check the installed paths of the exts
    $ ./configure --with-kerberos --with-imap-ssl=/usr/local/Cellar/openssl/1.0.2r/ --with-imap=/usr/local/Cellar/imap-uw/2007f/
    $ make
    $ # get extension dir 
    $ php -i | grep extension_dir
    extension_dir => /usr/local/lib/php/pecl/20180731 => /usr/local/lib/php/pecl/20180731
    $ cp modules/imap.so /usr/local/lib/php/pecl/20180731/
    $ # add extension to your php.ini
    # [imap]
    # extension="imap.so"
    

    That's it. Be lucky!

    0 讨论(0)
  • 2021-01-02 02:09

    Kevin Abel is providing some of the PHP extensions removed from Homebrew/core. You can install the IMAP extension with:

    brew tap kabel/php-ext
    brew install php-imap
    

    To install a specific version, such as 7.2 use:

    brew install php@7.2-imap
    
    0 讨论(0)
  • 2021-01-02 02:10

    For those who have trouble in Mojave, I have forked the repository and fixed it use: brew tap vishal-sancheti/php-ext instead

    0 讨论(0)
  • 2021-01-02 02:12

    After expired kabel/php-ext/php@7.2-imap, I used another tap:

    brew tap shivammathur/php
    
    brew tap shivammathur/extensions
    
    brew install imap@7.2
    
    0 讨论(0)
  • 2021-01-02 02:13

    Here is how I solved this problem under Mojave:

    First, I installed IMAP module for PHP 7.2

    brew install kabel/php-ext/php@7.2-imap
    

    Secondly I copied the imap.so from installed folder to the 'extension_dir' used by php.ini

    sudo cp /usr/local/lib/php/20170718/imap.so to /usr/local/lib/php/pecl/20170718
    
    0 讨论(0)
提交回复
热议问题