我在OS X El Capitan上使用PHP 7.2,使用Homebrew安装(当然)。现在我想使用PHP的IMAP扩展中的一些IMAP函数,但无论我搜索什么,我都找不到在OSX上添加扩展的方法。
我尝试过一些方法......当然,我尝试过最常用的推荐方法:
$ brew reinstall php --with-imap
然而这失败了,返回:
Warning: php: this formula has no --with-imap option so it will be ignored!
另一个方法,我发现顺便提到,也失败了:
$ brew install php72-imap
Error: No available formula with the name "php72-imap"
==> Searching for a previously deleted formula (in the last month)...
Warning: homebrew/core is shallow clone. To get complete history run:
git -C "$(brew --repo homebrew/core)" fetch --unshallow
Error: No previously deleted formula found.
==> Searching for similarly named formulae...
Error: No similarly named formulae found.
==> Searching taps...
==> Searching taps on GitHub...
Error: No formulae found in taps.
我不太确定该往哪个方向发展。我确信有一种简单的,可能有文献记载的方法可以做到这一点,但我还没有找到它。也许我只是在错误的地方寻找,使用错误的搜索词...
6条答案
按热度按时间1hdlvixo1#
Kevin Abel提供了一些从Homebrew/core中删除的PHP扩展。您可以使用以下命令安装IMAP扩展:
要安装特定版本(如7.2),请用途:
shyt4zoc2#
下面是我在莫哈韦沙漠下解决这个问题的方法:
首先,我为PHP7.2安装了IMAP模块
其次,我把imap.so从安装文件夹复制到php.ini使用的“extension_dir”中
jjhzyzn03#
有一个更好的方法直接使用Homebrew重新编译带有IMAP扩展的php。
2023/02年更新:此过程甚至可以在php 8中使用。只需使用 php 而不是版本化公式 php@7.4
1.运行brew编辑php@7.4
1.在depends_on部分的末尾添加depends_on“imap-uw”
1.检查depends_on部分中的openssl版本
1.在--with部分的末尾添加**--with-imap=#{公式[“imap-uw”].opt_前缀}**
1.在--with-imap之后添加**--with-imap-ssl=#{Formula[“openssl@1.1”].opt_prefix}。检查并确保它与depends_on部分中的版本相同
1.运行HOMEBREW_NO_INSTALL_FROM_API=1 brew重新安装--从源代码构建php@7.4**
2023/02年更新:如果不使用HOMEBREW_NO_INSTALL_FROM_API=1作为前缀,则不使用修改后的文件。自2023/01起行为发生变化,更多信息请参阅https://github.com/Homebrew/brew/pull/14412
如果特性中的公式更新,只需再次编辑公式,然后使用--build-from-source重新安装。
b4wnujal4#
对于那些喜欢使用本机命令安装
imap
ext而不添加其他tap或smth的人来说,这是一个答案。简而言之,我们需要从源代码编译扩展。好的,这是过程。
就这样。祝你好运!
jgovgodb5#
kabel/php-ext/php@7.2-imap
过期后,我使用了另一个水龙头:h22fl7wq6#
对于那些在莫哈韦遇到麻烦的人,我已经分叉了存储库并修复了它用途:改为
brew tap vishal-sancheti/php-ext