PHP:使用 WAMP 时出现内部服务器错误(启动时)

问题描述 投票:0回答:12

我的 php 遇到问题。它显示如下错误。它在其他计算机上运行良好,但是当我尝试在另一台计算机上运行它时,它显示如下错误。我认为我的 wampserver 2.0 配置有问题。

内部服务器错误

服务器遇到内部错误或配置错误, 无法完成您的请求。请联系服务器 管理员,webmaster@localhost 并通知他们时间 发生错误,以及您可能执行的任何操作可能导致 有关此错误的更多信息可以在 服务器错误日志。

php wampserver
12个回答
40
投票

这是由于

mod_rewrite
WAMP
已默认评论此选项。

您需要转到通知区域中的

WAMP
图标,Apache,
httpd.config

搜索

mod_rewrite
,然后取消注释。

重启后

WAMP
,你就完成了!


6
投票

这是因为 mod_rewrite 模块在 Apache 的配置中被禁用:

  1. 如果您的网站托管在本地计算机上,您只需打开 Apache 的 conf 文件夹中的 httpd.conf 并搜索“mod_rewrite”。如果 mod_rewrite 行前面有一个 #,只需删除该 #,保存文件,然后重新启动 Apache。

  2. 如果您的网站托管在共享托管服务器上,那么您可能无权更改 Apache 的配置。因此,您必须要求您的托管管理员为您启用 mod_rewrite 模块。几乎每个共享托管提供商都已启用此功能。


5
投票

我遇到了这个问题,但重写模块已经启用。商店 .htaccess 文件中有一个标头命令导致了该问题。在 apache 中启用 headers_module 修复了它。认为这可能对某人有帮助。


4
投票

这是 mod_rewrite 问题,只需在您的 apache 服务器中启用 mod_rewrite 或告诉您的网站托管公司为您启用它即可。这将使您的网站正常运行。


3
投票

虽然大家都这么说,但我想根据我从这个网站收集的一些信息来添加答案。

如果您的服务器没有启用 apache mod_rewrite 功能,就会发生这种错误。默认情况下,WAMP 服务器不加载此 Apache Mod Rewrite 模块。默认情况下它是禁用的。您必须启用此选项才能加载此模块。 WAMP Apache 配置文件中有关于此的行,但默认情况下已注释。要启用此 mod_rewrite 功能,请遵循此说明。

  • 查看系统托盘通知区域中的 Wamp 图标(靠近打卡时间) Windows 操作系统)
  • 单击 WAMP 图标
  • 转到 Apache>httpd.config
  • 配置文件将在“记事本”或默认文本中打开 编辑。
  • 搜索文本“mod_rewrite”,你会发现一行 “#LoadModule rewrite_module 模块/mod_rewrite.so“
  • 通过从行开头删除哈希“#”来取消注释该行。
  • 保存文件通过单击“重新启动所有服务”来重新启动 WAMP 服务器 WAMP 菜单。你完成了!

1
投票

对于任何发现这个问题的人,mod_rewrite 已经启用......

检查 WAMP 是否未将不需要的 .htaccess 文件放入 C:\ 驱动器的根目录中。

这发生在我身上,我想是在尝试了 httpd.conf 文件中的不同设置之后。

恢复 httpd.conf 设置后,我开始看到内部服务器错误。删除 .htaccess 文件解决了问题。


0
投票

检查 Wampserver 日志文件,此问题与您的 Apache 配置中的某些内容有关。


0
投票

一定要先按照 hunzaboy 建议的去做。然后,如果您仍然收到错误,我发现我的 httpd-vhosts.conf 文件中的指令之一导致即使在听取了他的建议后仍然存在相同的错误。我评论了这一行:“要求全部授予”(使用较新版本的 Apache 可以正常工作),一切都很好。


0
投票

必须在以下位置对此进行评论: LoadModule rewrite_module 模块/mod_rewrite.so


0
投票

如果您发现

mod_rewrite
已取消注释,但仍然遇到相同的错误。去检查
headers_module
是否启用。为此,您可以按照以下步骤操作。

  1. 左键单击通知区域中的 wamp 图标。
  2. 将鼠标悬停至
    Apache
  3. 将鼠标悬停至
    Apache Modules
  4. 点击
    headers_module

现在等待wamp服务器重新启动并检查它是否有效。


0
投票

我遇到了同样的问题,但问题不在我的所有网站上,而仅在一个网站上。

因此请确保您的

.htaccess
文件中没有以下代码:

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]
Header always set Content-Security-Policy "upgrade-insecure-requests;"

0
投票

@MikMark 我刚刚找到了我已经遇到过这个问题的解决方案。我还有 module/mod_rewrite.so 文件未注释。所以我找到了以下解决方案。

  • 转到 pache pache2.4.54 中的 \wamp。
© www.soinside.com 2019 - 2024. All rights reserved.