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