我正在 mac OS-X (10.8.3) 上设置开发环境。
我的apachectl
似乎引用/opt/usr/sbin/apachectl
:
$ sudo apachectl start
$ ps aux | grep httpd | grep -v grep
_www 898 0.0 0.0 2436168 704 ?? S 11:46AM 0:00.00 /usr/sbin/httpd -D FOREGROUND
root 897 0.0 0.1 2436168 4308 ?? Ss 11:46AM 0:00.18 /usr/sbin/httpd -D FOREGROUND
但是,apachectl
它/opt/local/apache2/bin/apachectl
似乎正在为我的本地机器驱动(正确配置的)网络服务器。
$ sudo /opt/local/apache2/bin/apachectl start
$ ps aux | grep httpd | grep -v grep
_www 916 0.0 0.0 2455992 688 ?? S 11:47AM 0:00.00 /opt/local/apache2/bin/httpd -k start
_www 915 0.0 0.0 2455992 688 ?? S 11:47AM 0:00.00 /opt/local/apache2/bin/httpd -k start
我安装了 MAMP,后来意识到我不需要它,于是删除了它。据我所知,apachectl
它没有别名:
$ alias
alias ll='ls -la'
$
apachectl
因此,除了删除之外,我不确定/usr/sbin/
如何更正此问题 - 而且只能使用新别名。这似乎是一个非常不干净的解决方案。有人可以提供一些关于如何重新连接我的 Mac 以不再出现此问题的指示吗?或者甚至验证apachectl
指向的内容(或如何更改它)?谢谢!
答案1
有whereis apachectl
输出吗?它会告诉你它指向哪里。如果你在两个位置都有它,那么其中一个很可能是另一个的符号链接。你可以用 来验证这一点,ls -l
如果有符号链接,它会指出一个符号链接。
答案2
在 OSX 中,是/usr/sbin/apachectl
默认安装的;删除它可能不是一个好主意。相反,您可以修改$PATH
环境变量,使/opt/local/bin
优先于/usr/sbin
。请注意,如果您在 中安装了非常多的软件包/opt/
,这可能会产生意想不到的后果,因为某些程序版本可能会突然与以前不同。