在31st of March Homebrew moved some of their formulas around上。出于这个原因,我无法找到一种方法来使我的PHP 7使用以下扩展:
mailparse
imap
我尝试了很多在互联网上找到的例子,例如
没有想到brew update, brew upgrade, brew tap etc...
但是它们似乎都不起作用,因为brew php不再适用于选项。
我在没有自制软件的情况下尝试安装的选项更少,因为我在计算机中使用的是nginx
,而不是apache
。
是否有任何人遇到此问题并且能够修复它?
谢谢!
答案 0 :(得分:6)
经过一些故障排除后,它终于奏效了.....那就是我的表现:
首先我安装了以下公式:
brew install imap-uw
brew install openssl
之后,我在http://php.net/downloads.php下载了我的电脑中运行的相同版本的pho(将其保存在Downloads文件夹中)。
在终端我做了。
cd ~/Downloads/php-7.0.29/ext/imap
./configure --with-imap=/usr/local/Cellar/imap-uw/2007f --with-kerberos --with-imap-ssl=/usr/local/opt/openssl
make
其中/usr/local/Cellar/
是安装公式imap-uw的路径。
P.S 此配置文件不接受--with-openssl
或--with-openssl-dir
或+openssl
。我试着忍受了很多时间。
它创建了一个文件夹modules/
,里面有imap.so
文件。
然后我创建了一个文件夹并将imap文件移到了里面
mkdir /usr/local/opt/php70-imap
mv modules/imap.so /usr/local/opt/php70-imap/imap.so
之后只需将扩展名添加到php.ini
文件
extension="/usr/local/opt/php70-imap/imap.so"
重新启动服务器,imap将正常工作!
对于 mailparse ,我必须使用pecl。
首先,我遵循了本教程https://jason.pureconcepts.net/2012/10/install-pear-pecl-mac-os-x/
在我的计算机中正确安装pecl
后,我运行了以下代码:
cd
pecl download mailparse
tar -xvf mailparse-3.0.2.tgz
cd mailparse-3.0.2/
phpize
./configure
sed -i 's/#if\s!HAVE_MBSTRING/#ifndef MBFL_MBFILTER_H/' ./mailparse.c
make
mkdir /usr/local/opt/php70-mailparse
sudo mv modules/mailparse.so /usr/local/opt/php70-mailparse/mailparse.so
我在这里得到了一段代码https://github.com/php-mime-mail-parser/php-mime-mail-parser。但是,sed -i 's/#if\s!HAVE_MBSTRING/#ifndef MBFL_MBFILTER_H/' ./mailparse.c
行无法正常运行。无论如何,我跑了make
并且有效。
之后只需将扩展名添加到php.ini
文件
extension="/usr/local/opt/php70-mailparse/mailparse.so"