问题
phpstudy小皮面板中的Apache或MySQL启动以后自动停止
正在启动------已启动------已停止
总结:最主要的原因:端口冲突
端口冲突了,已经有其他程序占用了80、3306端口。
也就是说你的电脑上已经有了一个Apache、MySQL并且正在运行。
解决方案:
停止 已经在运行的程序(解决一次);
或者卸载这个软件即可(永久解决)。
比如到"服务"里面停止这个服务,并且取消"自动"启动:
对于MySQL:原因1:端口冲突
解决办法:
直接到控制面板------程序中卸载安装的MySQL,名字里面有MySQL的都卸载掉。
说明:
1、在网络安全课程中,我们推荐使用phpstudy的MySQL5.7。自己安装的MySQL8后续使用会有问题。
2、不要修改MySQL的默认端口(3306),如果改了,后面靶场的配置文件都要修改。
对于MySQL:原因2:配置文件错误
以phpstudy中的MySQL为例,找到错误日志文件:
记事本打开:
这里指出的原因是:配置文件中有错误的变量validate_password_policy=0
,删掉重启即可
对于Apache:原因1 端口冲突
首先要找出到底是什么程序占用80端口:
根据端口号查进程,打开cmd:
netstat -ano|findstr "]:80"
找到[::]:80
这一行,最后一位就是进程号
这种结果不一定是正确的,注意区分:
根据进程号查进程名,把2472
替换成你查到的进程号
tasklist|findstr "2472"
管理员打开cmd
根据进程名称杀进程,把httpd.exe
替换为你找到的进程名称:
taskkill /f /t /im 进程名称
成功杀掉进程:
另一种方法:修改Apache的端口(不建议,除非其他程序必须用80端口)
注意,如果这个HTTP服务有自动启动,这个方式只能解决一次,重启以后又会出现,继续看原因2
。
# 对于Apache:原因2:系统自带HTTP服务
操作系统上有其他的HTTP服务,这个时候你访问的localhost并不是WWW目录下的文件
管理员打开cmd,执行命令:
bash
net stop http // 停止系统http服务(停不掉也没关系)
sc config http start= disabled // 禁用服务的自动启动,此处注意等号后面的空格不可少
禁用以后重启电脑
# 对于Apache:原因3:phpstudy安装目录有中文
phpstudy的安装路径中有中文导致的:
解决办法:
卸载phpstudy,重新安装,安装到只有英文的路径。
关键词:
Apache 80端口 无法启动 80端口被占用 3306端口被占用 自动停止 数据库 MySQL 5.7.26