前言:
公司 有个老项目,环境用的 apache+PHP ,由于windows系统更新之后,导致apache 无法启动了。
于是打算自己再搞一搞
1、错误排查
打开服务,apache 无法启动 ,报错 windows 不能在本地启动 apache24。

最先想到的方式去查看日志 : 找到 apache 文件,进入 logs 文件 点击 error.log ,查看是否有报错信息。
报错信息:AH00098 pid file overwritten
网上查看 尝试 用这种方式 :
httpd.exe -k stop
httpd.exe -k START
命令行无反应
试试 删除 下边文件 ,重启依旧无效

查看端口占用情况,同样无效
网上所有的方法都尝试了一遍,依旧无效
最后无奈,下载了一个新的 apache
(1)卸载原有 apache
1、关闭服务器,以管理员运行cmd进入Apache24/pin目录下运行
httpd -k uninstall -n apache2.4
2、打开注册表管理器,Win+R => regedit
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
(2) 重新安装 服务
详细安装步骤 可参考 https://www.cnblogs.com/wcwnina/p/8044353.html 可参照该大佬博客,讲的很详细
安装成功之后,在浏览器输入 localhost ,页面如下 证明apache 是没问题的 。

(3)修改 apache 配置文件
开始觉得服务不能正常启动是 apache 文件有损坏了,重新安装之后能启动,我尝试替换配置文件 ,将新文件中的 http.conf 用旧的文件中的http.conf替换,重新启动服务,依旧报错

于是 怀疑,是不是 http.conf 文件有问题 ?
为了验证这个问题,我又用我旧的 apache 文件,加载新的 http.conf ,开启服务,服务能启动,所以,问题就出在配置文件这
(4)排查http.conf 究竟哪个配置文件有问题
更换目录的时候,更换一下目录,输入localhost/info.文件没有错误

问题不出在这里,最终配置在配置PHP过程中 出现问题

报错信息:

后来 我怀疑是 PHP 文件坏掉了,为了证明这个怀疑,我将 PHPIniDir 目录换成另外一个PHP 目录,apache能启动,最终验证 PHP文件有问题。
(5) 下载新的PHP 文件
PHP 安装参照 网上 PHP 环境配置
更改链接目录,依旧报错
突发奇想,看看是不是PHP是不是通的。然后命令行输入
PHP -v ,报错
PHP Warning: ‘vcruntime140.dll’ 14.0 is not compatible with this PHP build linked with 14.16 in Unknown on line 0
版本不兼容问题: 由于我下载的是 PHP 7.4 需要用 Visual Studio 2019的Microsoft Visual C ++ Redistributable
尝试下载
https://visualstudio.microsoft.com/downloads/ 下载安装之后,重启电脑 以上问题不报错了
可能由于windows 系统更新的问题,导致某些文件丢了。
最终PHP 和apache 都通了,该跑项目了。
在跑项目过程中,遇到 问题:
Call to undefined function openssl_encrypt()
PHP 文件中,已经 打开了 openssl 了即
看看需要的模块有没有 打开

我打开这些模块之后,就不报错了
后边还遇到一个问题 :
服务已经启动,报错
404 not found及You don’t have permission to access / on this server
解决办法:
1、开启 LoadModule rewrite_module modules/mod_rewrite.so
2、确保设置了默认首页
<IfModule dir_module>
DirectoryIndex index.html index.htm index.php
</IfModule>
3、修改 direcory
<Directory />
Options FollowSymLinks
AllowOverride none 把none 改成All
Order allow,deny
deny from all 把deny改成Allow
</Directory>
最终 跑通了 。
本文记录了解决Apache在Windows系统更新后无法启动的问题过程,包括错误排查、配置文件修改及PHP版本兼容性调整。

2894

被折叠的 条评论
为什么被折叠?



