jjo*_*lon 10 php apache macos localhost
当我尝试访问任何文件夹或文件时,我收到一个apache错误,它返回Http Not found
或Forbidden
我正在尝试重新启动并启动apache
sudo apachectl restart
Run Code Online (Sandbox Code Playgroud)
输出:
(48)Address already in use: AH00072: make_sock: could not bind to address [::]:80
(48)Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
AH00015: Unable to open logs
Run Code Online (Sandbox Code Playgroud)
我正试着阻止它
sudo apachectl stop
Run Code Online (Sandbox Code Playgroud)
产量
httpd (no pid file) not running
Run Code Online (Sandbox Code Playgroud)
我跑 sudo lsof -i:80
输出:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
httpd 8904 root 5u IPv6 0x21884d81f1597d8f 0t0 TCP *:http (LISTEN)
httpd 9012 _www 5u IPv6 0x21884d81f1597d8f 0t0 TCP *:http (LISTEN)
httpd 12726 _www 5u IPv6 0x21884d81f1597d8f 0t0 TCP *:http (LISTEN)
httpd 12731 _www 5u IPv6 0x21884d81f1597d8f 0t0 TCP *:http (LISTEN)
httpd 12732 _www 5u IPv6 0x21884d81f1597d8f 0t0 TCP *:http (LISTEN)
Run Code Online (Sandbox Code Playgroud)
有什么想法解决这个问题?
有用的信息:
OS X El Capitan
Run Code Online (Sandbox Code Playgroud)
Lui*_*MPF 26
在我的装有Mojave(10.14.1)的Mac上,突然之间Apache无法再提供ipv4的服务,然后给我ERROR403。我试图杀死所有的apache(sudo killall httpd)...在(sudo lsof | grep)上检查de PID AMP | grep apache)...甚至无法正常工作...只是ipv6可用...仍然错误403。
对我有用的工具:禁用OSX的内置Apache服务器。
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist
Run Code Online (Sandbox Code Playgroud)
之后:
sudo apachectl -k restart
Run Code Online (Sandbox Code Playgroud)
要开心 :)
小智 17
尝试
sudo netstat -ltnp | grep ':80'
Run Code Online (Sandbox Code Playgroud)
输出:tcp6 0 0 :::80 :::* 监听 1500/apache2
sudo kill 1500
sudo service apache2 restart
Run Code Online (Sandbox Code Playgroud)
小智 9
这个帮助了我:
请编辑 httpd.conf 文件。
/usr/local/etc/httpd/httpd.conf
Run Code Online (Sandbox Code Playgroud)
并替换
Listen 80
Run Code Online (Sandbox Code Playgroud)
和
Listen 127.0.0.1:80
Run Code Online (Sandbox Code Playgroud)
重启apache
sudo apachectl -k restart
Run Code Online (Sandbox Code Playgroud)
其中一件事可能会发生:
which apachectl
.作为一个例子,我也有两个版本的apache /usr/sbin/apachectl
和/usr/local/bin/apachectl
apachectl start
以root用户身份运行,虽然看起来你是.sudo lsof -i:80
以查看当前绑定该端口的内容发生此错误的原因是 apache 服务器默认侦听端口 80,因此另一个服务或程序正在使用该端口,并且 apache 无法启动。
解决方案是确定哪些程序或服务正在使用该端口,然后将其关闭、禁用或卸载。
可以运行 netstat 来识别
sudo netstat -ltnp | grep ':80'
Run Code Online (Sandbox Code Playgroud)
或者
sudo lsof -i:80
Run Code Online (Sandbox Code Playgroud)
就我而言,我同时安装了 nginx 和 apache,并且都使用端口 80。
临时解决方案:停止或终止服务、程序等。
永久解决方案:
就我而言,我需要两者,所以我决定通过禁用该服务来临时修复它:
systemctl stop MyServiceName.service
Run Code Online (Sandbox Code Playgroud)
如果它是一个服务,否则使用kill命令。
归档时间: |
|
查看次数: |
8366 次 |
最近记录: |