如何在Mac Mavericks上永久停止apache?

时间:2013-12-07 09:30:55

标签: macos apache osx-mavericks

我正在尝试在mac上安装zend服务器并且需要卸载Mavericks自动包含的apache服务器,以便使用Zend附带的Apache服务器。是否可以阻止它在启动时运行或永久删除?

4 个答案:

答案 0 :(得分:90)

试试这个:

sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist

这将停止正在运行的Apache实例,并记录它不应重新启动。它会在/private/var/db/launchd.db/com.apple.launchd/overrides.plist中记录您的偏好。

答案 1 :(得分:11)

试试这个

sudo killall httpd

它将停止所有

答案 2 :(得分:2)

如果你按照我的方式访问此页面并得到类似/System/Library/LaunchDaemons/org.apache.httpd.plist: Could not find specified service.的内容,请尝试不使用sudo命令,这会让我得到上述错误。

答案 3 :(得分:0)

我遇到了同样的问题,罪魁祸首非常愚蠢。结果是OSX试图包含一个不存在的php版本,但由于自制软件httpd优先,OSX httpd也无法直接访问。以下是我所做的修复它:

首先:brew unlink httpd 然后which httpd显示以下内容:/usr/sbin/httpd

此时我跑了sudo /usr/sbin/httpd -k stop,真正的罪魁祸首显露出来了:

httpd: Syntax error on line 527 of /private/etc/apache2/httpd.conf: Syntax error on line 8 of /private/etc/apache2/other/+php-osx.conf: Cannot load /usr/local/php5/libphp5.so into server: dlopen(/usr/local/php5/libphp5.so, 10): Symbol not found: _environ\n  Referenced from: /usr/local/php5/libphp5.so\n  Expected in: /usr/sbin/httpd\n in /usr/local/php5/libphp5.so

然后我用sudo vi /private/etc/apache2/httpd.conf修复此问题,并注释掉该文件中的所有行,并运行以下内容以获得良好的衡量标准:

sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist

这说明:

/System/Library/LaunchDaemons/org.apache.httpd.plist: Could not find specified service

底层问题是本机OSX实例仍在运行,但由于未找到PHP问题而已从launchctl分离。所以基本上launchctl认为它已经正确关闭了进程,但apachectl代理由于PHP错误而拒绝停止,导致解耦过程,只有在自制程序版本时才可以直接控制也没有联系。

评论原生PHP包含允许我毫无问题地运行sudo apachectl -k stop

在对此进行排序后,我运行了

brew link httpd

接着是

brew services restart httpd

利润。