当前位置:首页 > 操作系统 > MacOs

php – MAMP – Mac OS X.

我一直在端口8888上使用MAMP一段时间,所以我在浏览器中访问网站如下:http:// localhost:8888 / website

但是我刚刚安装了一个Wordpress Multisite,因此想切换到端口80以允许我正常访问网站并具有子目录,例如http://website.co.uk,http://subdomain.website.co.uk

我在MAMP中设置了vhosts文件,并在MAMP首选项中将端口更改为80,但是因为这个MAMP不会启动Apache. MySQL启动很好,但Apache无法启动.

我试图通过在终端中运行以下命令来手动启动apache:

sudo ./startApache.sh

但每次我这样做,我都会收到以下错误:

<code>(48)Address already in use: make_sock: could not bind to address [::]:80
(48)Address already in use: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
</code>

如果我切换回端口8888 MAMP再次工作.任何人都能指出我正确的方向来解决这个问题吗?

<code>sudo lsof | grep LISTEN

launchd      1           root   11u     IPv6  0x8754c7c05566afd       0t0      TCP *:afpovertcp (LISTEN)
launchd      1           root   12u     IPv4  0x8754c7c0556bae5       0t0      TCP *:afpovertcp (LISTEN)
launchd      1           root   30u     IPv6  0x8754c7c0556671d       0t0      TCP localhost:ipp (LISTEN)
launchd      1           root   31u     IPv4  0x8754c7c0556b3ad       0t0      TCP localhost:ipp (LISTEN)
httpd       21           root    4u     IPv6  0x8754c7c0556633d       0t0      TCP *:http (LISTEN)
kdc         43           root    6u     IPv6  0x8754c7c05565f5d       0t0      TCP *:kerberos (LISTEN)
kdc         43           root    8u     IPv4  0x8754c7c0556a53d       0t0      TCP *:kerberos (LISTEN)
httpd      191           _www    4u     IPv6  0x8754c7c0556633d       0t0      TCP *:http (LISTEN)
Dropbox    293            Ell   19u     IPv4  0x8754c7c0a8db6cd       0t0      TCP *:17500 (LISTEN)
Dropbox    293            Ell   25u     IPv4  0x8754c7c0a8da125       0t0      TCP localhost:26164 (LISTEN)
mysqld     454            Ell   10u     IPv4  0x8754c7c0ba8085d       0t0      TCP *:ddi-tcp-2 (LISTEN)
</code>

更新:

<code>ps 21
PID   TT  STAT      TIME COMMAND
21   ??  Ss     0:00.39 /usr/sbin/httpd -D FOREGROUND
</code>

谢谢

解决方法:

您可以使用lsof检查正在侦听哪些端口的进程:

<code>sudo lsof | grep LISTEN
</code>

寻找听*:http等的进程

更新:

您看到一个进程已经在使用*:http,这是一个名为httpd with pid 21的进程.httpd很可能是一个Apache进程.所以我猜你的系统已经在某处安装了Apache(可能会自动启动),或者MAMP Apache已经因某种原因而运行了.

尝试运行ps 21以获取有关该过程的更多信息.在我安装了MAMP运行的系统上,我看到了这一点:(65696是我系统上httpd的pid).

<code>mattias@waderbook:~$ps 65696
  PID   TT  STAT      TIME COMMAND
65696   ??  Ss     0:00.57 /Applications/MAMP/Library/bin/httpd -k start
</code>

如果你看到/usr/sbin / httpd,很可能是与运行的OS X绑定的Apache.尝试通过转到“首选项”中的“共享”并禁用“Web共享”来禁用它.


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!

相关教程推荐

其他课程推荐