我正在使用默认的Apache安装我的OS X.出于某种原因,当我运行没有“sudo”的“apachectl”命令时,我得到“没有可用的侦听套接字/无法打开日志”。我猜这是一个允许的事情,所以有人可以帮助我吗?我正在使用Apache 2.2。
另外,附带问题,哪里的Apache脚本文件基本上是linux执行的“exe”?我正在尝试将我的服务器与Aptana Studio集成,它需要Apache安装的路径。我知道在Windows中,这将是“C:\ path \ to \ httpd.exe”,但我不知道它在linux中是如何工作的。
答案 0 :(得分:6)
您的服务器是否正在侦听端口80? (通常)只允许root打开1024以下的端口。因此需要sudo
。
当你can see时,很多人都想知道如何解决这个问题。一种可能的解决方案是在路由器上执行端口转发。 (我假设你在路由器后面......)。然后,端口80上的传入连接可以转发到例如端口8080.因此只有本地才需要连接到端口8080.(可能有更优雅的解决方案......其他人会发布它们。)
答案 1 :(得分:0)
我认为一般(在OS X和Linux上 - 我不确定你指的是哪一个)httpd二进制文件位于:/ usr / sbin / httpd
如果你需要能够重启Apache,并且你不能以root用户身份(无论出于何种原因......),那么你可能不得不接受一个非“众所周知”的端口。
答案 2 :(得分:0)
试试这个
(用php) $ a = shell_exec('sudo -u root -S /etc/init.d/apache2 restart< / home / $ user / passfile');
密码应存储在passfile中