apachectl 在两个位置造成困难

apachectl 在两个位置造成困难

我正在 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/,这可能会产生意想不到的后果,因为某些程序版本可能会突然与以前不同。

相关内容