Apache 无法启动,找不到编码

Posted

技术标签:

【中文标题】Apache 无法启动,找不到编码【英文标题】:Apache Won't Start, Encodings cannot be found 【发布时间】:2021-12-12 20:45:37 【问题描述】:

有很多类似的问题指出,由于“PYTHONHOME”和“PYTHONPATH”变量创建不当,他们无法启动 Apache (2.4)。

我已经安装了 mod_wsgi,我使用的是 python 3.8.0,我在 Windows 10 x64 上,并且我的所有模块都安装了 x64 位。但是,当我启动 Apache 时,(httpd -k start, restart)服务没有启动。我尝试在任务管理器的服务选项卡中手动执行相同操作,但在我尝试运行 Apache 后它也立即停止。

查看日志,似乎我的问题也与上述变量有关,但是在其他人的情况下,建议他们删除变量,而我的问题似乎一开始没有设置为任何变量。我读过设置这些变量会无意中掩盖系统变量,但对我来说似乎并非如此。

日志中最明显的错误似乎是找不到“编码”模块。我附上了下面的日志截图。

谁能帮我让 Apache24 运行?

附注我正在使用 Apache Haus Distribution,我相信我的安装名称是。

Error.log Report

【问题讨论】:

试试建议的答案here 【参考方案1】:

是的,当PYTHONHOME没有有效的Python安装时会报这个错误。

这个答案可能会有所帮助:https://***.com/a/69949005/2850706

【讨论】:

我都取消了我的 PYTHONPATH 和 PYTHONHOME,并尝试将 PYTHONPATH 设置为 /foo/bar/python.exe 并将 PYTHONHOME 设置为 /foo/bar。在每种情况下,我都会遇到相同的编码问题。我之前已经解决了这个问题,但是时间太长了,我不记得现在该怎么办了。它似乎与正常的 PYTHONHOME/PYTHONPATH 问题无关。 如果在 Windows 上运行 Apache,请尽量不要将其作为服务运行。 Windows 服务不会获取启动后所做的 env var 更改。 使用命令 (httpd) 而不是 (httpd -k start/stop/restart) 运行它确实 工作,但我想知道这是为什么。我还想知道我是否可以定期运行它(httpd -k start),因为当我使用您建议的命令(不是服务)运行它时,我必须让终端保持打开状态。谢谢

以上是关于Apache 无法启动,找不到编码的主要内容,如果未能解决你的问题,请参考以下文章

手动启动tomcat错误: 找不到或无法加载主类

eclipse中启动tomcat出现错误: 找不到或无法加载主类 org.apache.tomcat.startup.Main

tomcat单独启动成功, eclipse启动tomcat报错, 错误一:找不到或无法加载主类 org.apache.catalina.startup.Bootstrap;错误二:端口被占用

win7安装xampp,提示windows找不到-n文件(安装成功后,443端口占用,apache服务器无法正常启动)

启动apache 找不到 mbstring.dll

错误: 找不到或无法加载主类 org.apache.zookeeper.server.quorum.QuorumPeerMain