如何完全卸载Homebrew Apache httpd24?

时间:2016-12-16 07:28:00

标签: apache homebrew uninstall httpd.conf macos-sierra

在macOS Sierra上,我使用Homebrew安装了Apache:

$ brew install httpd24

这引起了一些奇怪的Apache问题。似乎在macOS Sierra上Apache的默认安装仍然在某种程度上是活跃的。我现在想要完全卸载httpd24,但我仍然在我的进程中看到它。这就是我的所作所为:

$ brew unlink httpd24 $ brew uninstall httpd24 $ rm -rf /usr/local/etc/apache2/

正在运行$ ps aux|grep httpd会显示:

blt              51473   0.0  0.0  2613988    844   ??  S    10:48PM   0:00.00 /usr/local/Cellar/httpd24/2.4.23_2/bin/httpd -k start
blt              51447   0.0  0.0  2613988    892   ??  S    10:47PM   0:00.00 /usr/local/Cellar/httpd24/2.4.23_2/bin/httpd -k start
blt              51396   0.0  0.0  2613988    856   ??  S    10:47PM   0:00.00 /usr/local/Cellar/httpd24/2.4.23_2/bin/httpd -k start
blt              51345   0.0  0.0  2613988    844   ??  S    10:47PM   0:00.00 /usr/local/Cellar/httpd24/2.4.23_2/bin/httpd -k start
blt              51285   0.0  0.0  2613988    876   ??  S    10:45PM   0:00.00 /usr/local/Cellar/httpd24/2.4.23_2/bin/httpd -k start
blt              51048   0.0  0.0  2615200    868   ??  S    10:34PM   0:00.00 /usr/sbin/httpd -T
blt              51047   0.0  0.0  2615200    840   ??  S    10:34PM   0:00.00 /usr/sbin/httpd -T
blt              51046   0.0  0.1  2628716  20104   ??  S    10:34PM   0:00.06 /usr/sbin/httpd -T
blt              51045   0.0  0.1  2628716  20084   ??  S    10:34PM   0:00.05 /usr/sbin/httpd -T
blt              51044   0.0  0.1  2628716  20148   ??  S    10:34PM   0:00.04 /usr/sbin/httpd -T
blt              51043   0.0  0.1  2628716  20236   ??  S    10:34PM   0:00.05 /usr/sbin/httpd -T
blt              51041   0.0  0.1  2628716  20668   ??  S    10:34PM   0:00.07 /usr/sbin/httpd -T
blt              51040   0.0  0.4  2644668  59852   ??  S    10:34PM   0:01.05 /usr/sbin/httpd -T
root             47136   0.0  0.1  2615456  18872   ??  Ss    5:34PM   0:00.67 /usr/sbin/httpd -T
root             43442   0.0  0.0  2614244   7172   ??  Ss    4:14PM   0:00.83 /usr/local/Cellar/httpd24/2.4.23_2/bin/httpd -k start
blt              52451   0.0  0.0  2423384    256 s003  R+   11:06PM   0:00.00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn httpd

路径为/usr/sbin/httpd的进程是默认的Apache安装。路径/usr/local/Cellar/httpd24/2.4.23_2/bin/httpd的是Homebrew安装。这甚至不可能。目录/usr/local/Cellar/httpd24 甚至不存在。我试过手动杀死这些进程,但最终还是回来了。我试过重新启动计算机。我已经无数次重启了Apache。我已确认使用$ apachectl在命令行上与我交互的Apache是​​默认安装。我不知道还能做什么。谢谢你的帮助。

2 个答案:

答案 0 :(得分:4)

我无法记住我究竟做了什么来解决这个问题,但是我将一个bash别名拼凑在一起,这可能对使用Homebrew PHP但默认Mac OS Apache的其他人有用。它将停止Apache,杀死任何Homebrew Apache(httpd24)进程,取消链接并卸载Homebrew Apache并重新启动剩余的默认Apache安装。有时我必须在使用Homebrew安装新的PHP版本后使用它。有关详细信息,请参阅此问题:https://github.com/Homebrew/homebrew-php/issues/3601

alias fix_apache='sudo apachectl stop; sudo pkill -f /usr/local/Cellar/httpd24; sudo pkill -f /usr/sbin/httpd; sudo pkill -f /usr/local/opt/httpd24; brew unlink httpd24; brew uninstall --ignore-dependencies --force httpd24; sudo apachectl start;'

答案 1 :(得分:0)

根据@pilot 评论(我当前使用的是 2.4.48 版),我遇到了同样的问题,并遵循了 @maskedjellybean 的回答,升级了 httpd 的脚本。

代码如下:

alias fix_apache='sudo apachectl stop; sudo pkill -f /usr/local/Cellar/httpd; sudo pkill -f /usr/sbin/httpd; sudo pkill -f /usr/local/opt/httpd; brew unlink httpd; brew uninstall --ignore-dependencies --force httpd; sudo apachectl start;'

一切都很完美。