【问题标题】:Apache Won't Start, Encodings cannot be foundApache 无法启动,找不到编码
【发布时间】: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

标签: python-3.x apache mod-wsgi wsgi


【解决方案1】:

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

这个答案可能会有所帮助:https://stackoverflow.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),因为当我使用您建议的命令(不是服务)运行它时,我必须让终端保持打开状态。谢谢
猜你喜欢
  • 2022-06-14
  • 2018-04-28
  • 2017-03-19
  • 2013-10-29
  • 2016-07-26
  • 1970-01-01
  • 1970-01-01
  • 2021-12-05
  • 2016-03-03
相关资源
最近更新 更多