使用会话时在 xampp 上可能导致 ERR_CONNECTION_RESET 错误的原因

Posted

技术标签:

【中文标题】使用会话时在 xampp 上可能导致 ERR_CONNECTION_RESET 错误的原因【英文标题】:What may cause an ERR_CONNECTION_RESET error, on xampp while using session 【发布时间】:2016-04-15 01:06:24 【问题描述】:

我的文件中有 session_start(); 的 xampp (Windows) 有问题,但它喜欢放弃该请求...

当我尝试使用localhost/folder/index.php 访问页面时,它可以工作,但是当我尝试时 external ip/folder/index.php127.0.0.1/folder/index.php[::1]/folder/index.php 它只是断开连接(尝试了多个浏览器和 chrome 给出了 ERR_CONNECTION_RESET...我一无所知,我迫切需要帮助... 当我从我的文件中删除 session_start(); 时,它起作用了...... 当我使用session_start(); 创建新文件时,它仍然无法正常工作...

一些error.log 行

[Sun Jan 10 19:33:45.805036 2016] [:error] [pid 3176:tid 1888] [client myip:50143] script 'C:/xampp/htdocs/h3x1t/i\xc2\xb4\xc2\xb4.php' not found or unable to stat
[Sun Jan 10 20:02:40.330149 2016] [ssl:warn] [pid 24588:tid 552] AH01909: www.example.com:443:0 server certificate does NOT include an ID which matches the server name
[Sun Jan 10 20:02:40.373728 2016] [mpm_winnt:notice] [pid 24588:tid 552] AH00354: Child: Starting 150 worker threads.
[Sun Jan 10 20:04:25.949925 2016] [mpm_winnt:notice] [pid 29460:tid 564] AH00428: Parent: child process 24588 exited with status 3221225477 -- Restarting.
[Sun Jan 10 20:04:26.568746 2016] [ssl:warn] [pid 29460:tid 564] AH01909: www.example.com:443:0 server certificate does NOT include an ID which matches the server name
[Sun Jan 10 20:04:26.615700 2016] [mpm_winnt:notice] [pid 29460:tid 564] AH00455: Apache/2.4.18 (Win32) OpenSSL/1.0.2e PHP/7.0.1 configured -- resuming normal operations
[Sun Jan 10 20:04:26.615700 2016] [mpm_winnt:notice] [pid 29460:tid 564] AH00456: Apache Lounge VC14 Server built: Dec  9 2015 10:17:39
[Sun Jan 10 20:04:26.615700 2016] [core:notice] [pid 29460:tid 564] AH00094: Command line: 'c:\\xampp\\apache\\bin\\httpd.exe -d C:/xampp/apache'
[Sun Jan 10 20:04:26.622190 2016] [mpm_winnt:notice] [pid 29460:tid 564] AH00418: Parent: Created child process 26200
[Sun Jan 10 20:04:27.302705 2016] [ssl:warn] [pid 26200:tid 560] AH01909: www.example.com:443:0 server certificate does NOT include an ID which matches the server name
[Sun Jan 10 20:04:27.475560 2016] [ssl:warn] [pid 26200:tid 560] AH01909: www.example.com:443:0 server certificate does NOT include an ID which matches the server name
[Sun Jan 10 20:04:27.518770 2016] [mpm_winnt:notice] [pid 26200:tid 560] AH00354: Child: Starting 150 worker threads.
[Sun Jan 10 20:04:28.693791 2016] [mpm_winnt:notice] [pid 29460:tid 564] AH00428: Parent: child process 26200 exited with status 3221225477 -- Restarting.
[Sun Jan 10 20:04:29.379751 2016] [ssl:warn] [pid 29460:tid 564] AH01909: www.example.com:443:0 server certificate does NOT include an ID which matches the server name
[Sun Jan 10 20:04:29.425188 2016] [mpm_winnt:notice] [pid 29460:tid 564] AH00455: Apache/2.4.18 (Win32) OpenSSL/1.0.2e PHP/7.0.1 configured -- resuming normal operations
[Sun Jan 10 20:04:29.425188 2016] [mpm_winnt:notice] [pid 29460:tid 564] AH00456: Apache Lounge VC14 Server built: Dec  9 2015 10:17:39
[Sun Jan 10 20:04:29.425188 2016] [core:notice] [pid 29460:tid 564] AH00094: Command line: 'c:\\xampp\\apache\\bin\\httpd.exe -d C:/xampp/apache'
[Sun Jan 10 20:04:29.430191 2016] [mpm_winnt:notice] [pid 29460:tid 564] AH00418: Parent: Created child process 30668
[Sun Jan 10 20:04:30.081357 2016] [ssl:warn] [pid 30668:tid 608] AH01909: www.example.com:443:0 server certificate does NOT include an ID which matches the server name
[Sun Jan 10 20:04:30.254197 2016] [ssl:warn] [pid 30668:tid 608] AH01909: www.example.com:443:0 server certificate does NOT include an ID which matches the server name
[Sun Jan 10 20:04:30.297173 2016] [mpm_winnt:notice] [pid 30668:tid 608] AH00354: Child: Starting 150 worker threads.
[Sun Jan 10 20:06:24.444492 2016] [:error] [pid 30668:tid 1896] [client ::1:60405] script 'C:/xampp/htdocs/h3x1t/contracts.php' not found or unable to stat, referer: http://localhost/h3x1t/index

【问题讨论】:

你检查过apache错误日志吗?它说什么...... 编辑 -> 一些错误日志行。 您似乎尝试将网页作为文件访问..C:/xampp/htdocs/h3x1t/contracts.php... 尝试以网页localhost/h3x1t/contracts.php访问 我从未尝试过...当我访问它 127.0.0.1 或我的外部 IP(端口打开)时它不起作用...仅通过本地主机...我重新安装了 PHP(我有 PHP 7.0.0) 并且它正在工作......我猜这是 PHP 7.0.0 的问题...... 【参考方案1】:

我有 PHP7 的 XAMPP 和同样的问题...

我在 php.ini 中进行了更改: session.use_only_cookies 从 0 到 1,一切正常。

【讨论】:

我已经将这个问题的答案与足够的信息联系起来修复它 - 但谢谢! 从 xamp5.6 升级到 7.1 后,我在 Windows 上遇到了同样的问题,从那时起,所有并发请求都开始失败。设置 'use_only_cookies' 真的对我有帮助,tnx 提示!虽然我将它从“1”设置为“0”:)【参考方案2】:

我用旧的 PHP 版本重新安装了 xampp...

看起来罪魁祸首是 PHP 7.0.0

编辑:发现一些可能与之相关的东西 https://community.apachefriends.org/viewtopic.php?p=248070&sid=0b7559defe15317f41699d1ce9194e3f

EDIT2:找到这个(bitnami 开发者)

我们一直在检查 XAMPP 的配置,我们发现 问题与您可以在其中找到的 use_only_cookies 变量有关 php.ini 文件的会话部分。 Apache 会崩溃,如果 会话部分中的 use_only_cookies 变量设置为 0 并且 如果设置为 1,一切都很好。

http://php.net/manual/en/session.configuration.php#ini.session.use-only-cookies

我们还检查了 use_strict_mode 是否应该设置为 1。

https://wiki.php.net/rfc/strict_sessions http://php.net/manual/en/session.configuration.php#ini.session.use-strict-mode

我们将在带有 PHP 7 的下一个 XAMPP 版本中包含这些更改。 我们正在使用 7.0.2 版本构建安装程序,我们将 尽快释放它们。

【讨论】:

将其从 1 更改为 0,它实际上在 7.1.33 上帮助了我:D【参考方案3】:

在我的例子中,Windows 事件查看器显示了更多有用的数据。它指出 VCRUNTIME140.dll 不断使 Apache 崩溃(这导致控制台显示 ERR_CONNECTION_RESET),所以我将库更新为 https://www.microsoft.com/en-us/download/confirmation.aspx?id=52685 - 然后,它显示错误模块为 php7ts.dll - 所以我遵循了来自 http://ibraransari.blogspot.com/2017/01/how-to-solve-apache-crash-fault-module.html 的说明和我很高兴。

【讨论】:

【参考方案4】:

如果应用上述两个答案后仍然无法正常工作,请清除缓存这应该可以解决问题。

【讨论】:

以上是关于使用会话时在 xampp 上可能导致 ERR_CONNECTION_RESET 错误的原因的主要内容,如果未能解决你的问题,请参考以下文章

本地 xampp 服务器上的空会话

MySQL 会话不会在 XAMPP 上启动

XAMPP - 未配置会话缓存 [提示:SSLSessionCache]

Vue报错:sockjs.js?9be2:1627 GET http://192.168.43.88:8080/sockjs-node/info?t=1631603986586 net::ERR_CO

SCP 权限被拒绝(公钥)。仅当在目录上使用 -r 标志时在 EC2 上

Xampp 正在删除会话