Php 在任何文件更改后重置Laravel连接

Php 在任何文件更改后重置Laravel连接,php,windows,laravel,Php,Windows,Laravel,我已经在本地环境(windows 10)中安装了laravel 4.2进行测试,但在更新任何文件后,仍会出现连接重置错误 我的项目将加载,服务器将正确显示我的页面。但是,如果我更新一个文件(例如索引),然后尝试访问呈现新更新文件的页面,我总是会收到连接重置错误。即使是像一个时期这样简单的变化 更有趣的是,当我使用php artisan为我的文件提供服务时,我从未遇到连接重置问题。如果我通过artisan Service访问页面,它会工作,然后xampp突然想要工作,但只有在我之前从artisan

我已经在本地环境(windows 10)中安装了laravel 4.2进行测试,但在更新任何文件后,仍会出现连接重置错误

我的项目将加载,服务器将正确显示我的页面。但是,如果我更新一个文件(例如索引),然后尝试访问呈现新更新文件的页面,我总是会收到连接重置错误。即使是像一个时期这样简单的变化

更有趣的是,当我使用php artisan为我的文件提供服务时,我从未遇到连接重置问题。如果我通过artisan Service访问页面,它会工作,然后xampp突然想要工作,但只有在我之前从artisan加载过一次页面之后

如果我再次更改文件,我必须重复此过程

本地设置

我的项目是通过以下v-hosts配置从xampp(v3.2.2)本地托管的。主机文件也已正确配置

<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs/myproject/public"
ServerName myproject.local
ServerAlias myproject.local
ErrorLog "logs/myproject.log"
CustomLog "logs/custom.myproject.log" combined
<Directory "C:/xampp/htdocs/myproject/public">
    AllowOverride All
    Require all granted
</Directory>

DocumentRoot“C:/xampp/htdocs/myproject/public”
ServerName myproject.local
ServerAlias myproject.local
错误日志“logs/myproject.log”
CustomLog“logs/custom.myproject.log”组合
允许超越所有
要求所有授权

简而言之:我更改了一个文件,在尝试访问该页面时,我在xampp上重置了连接。我从artisan查看页面,然后在xampp上刷新页面,突然它就工作了

更新

我曾经尝试过卢卡斯建议的拉拉贡,但同样的错误依然存在。在尝试访问该页面时更新任何文件后,我收到一个连接重置错误

我在laragon的apache日志中找到了更多信息

[Tue Mar 01 08:52:22.785519 2016] [mpm_winnt:notice] [pid 6748:tid 544] AH00428: Parent: child process 8276 exited with status 3221225725 -- Restarting. [Tue Mar 01 08:52:22.928687 2016] [ssl:warn] [pid 6748:tid 544] AH01909: www.example.com:8443:0 server certificate does NOT include an ID which matches the server name [Tue Mar 01 08:52:22.938712 2016] [mpm_winnt:notice] [pid 6748:tid 544] AH00455: Apache/2.4.17 (Win32) OpenSSL/1.0.2d PHP/5.6.16 configured -- resuming normal operations [Tue Mar 01 08:52:22.938712 2016] [mpm_winnt:notice] [pid 6748:tid 544] AH00456: Apache Lounge VC11 Server built: Oct 13 2015 10:54:13 [Tue Mar 01 08:52:22.938712 2016] [core:notice] [pid 6748:tid 544] AH00094: Command line: 'C:\\laragon\\bin\\apache\\apache-2.4.17/bin/httpd -d C:/laragon/bin/apache/apache-2.4.17' [Tue Mar 01 08:52:22.939695 2016] [mpm_winnt:notice] [pid 6748:tid 544] AH00418: Parent: Created child process 3672 [Tue Mar 01 08:52:23.214917 2016] [ssl:warn] [pid 3672:tid 532] AH01909: www.example.com:8443:0 server certificate does NOT include an ID which matches the server name [Tue Mar 01 08:52:23.296629 2016] [ssl:warn] [pid 3672:tid 532] AH01909: www.example.com:8443:0 server certificate does NOT include an ID which matches the server name [Tue Mar 01 08:52:23.306647 2016] [mpm_winnt:notice] [pid 3672:tid 532] AH00354: Child: Starting 64 worker threads. [Tue Mar 01 08:52:24.159843 2016] [mpm_winnt:notice] [pid 6748:tid 544] AH00428: Parent: child process 3672 exited with status 3221225725 -- Restarting. [Tue Mar 01 08:52:24.305896 2016] [ssl:warn] [pid 6748:tid 544] AH01909: www.example.com:8443:0 server certificate does NOT include an ID which matches the server name [Tue Mar 01 08:52:24.315916 2016] [mpm_winnt:notice] [pid 6748:tid 544] AH00455: Apache/2.4.17 (Win32) OpenSSL/1.0.2d PHP/5.6.16 configured -- resuming normal operations [Tue Mar 01 08:52:24.315916 2016] [mpm_winnt:notice] [pid 6748:tid 544] AH00456: Apache Lounge VC11 Server built: Oct 13 2015 10:54:13 [Tue Mar 01 08:52:24.315916 2016] [core:notice] [pid 6748:tid 544] AH00094: Command line: 'C:\\laragon\\bin\\apache\\apache-2.4.17/bin/httpd -d C:/laragon/bin/apache/apache-2.4.17' [Tue Mar 01 08:52:24.317905 2016] [mpm_winnt:notice] [pid 6748:tid 544] AH00418: Parent: Created child process 3600 [Tue Mar 01 08:52:24.580068 2016] [ssl:warn] [pid 3600:tid 552] AH01909: www.example.com:8443:0 server certificate does NOT include an ID which matches the server name [Tue Mar 01 08:52:24.666114 2016] [ssl:warn] [pid 3600:tid 552] AH01909: www.example.com:8443:0 server certificate does NOT include an ID which matches the server name [Tue Mar 01 08:52:24.675120 2016] [mpm_winnt:notice] [pid 3600:tid 552] AH00354: Child: Starting 64 worker threads. [Tue Mar 01 08:52:22.785519 2016][mpm_winnt:notice][pid 6748:tid 544]AH00428:父进程:子进程8276退出,状态为3221225725--重新启动。 [Tue Mar 01 08:52:22.928687 2016][ssl:warn][pid 6748:tid 544]AH01909:www.example.com:8443:0服务器证书不包含与服务器名称匹配的ID [Tue Mar 01 08:52:22.938712 2016][mpm_winnt:notice][pid 6748:tid 544]AH00455:Apache/2.4.17(Win32)OpenSSL/1.0.2d PHP/5.6.16已配置--恢复正常操作 [星期二3月1日08:52:22.938712 2016][mpm_winnt:notice][pid 6748:tid 544]AH00456:Apache Lounge VC11服务器构建时间:2015年10月13日10:54:13 [Tue Mar 01 08:52:22.938712 2016][core:notice][pid 6748:tid 544]AH00094:命令行:“C:\\laragon\\bin\\apache\\apache-2.4.17/bin/httpd-dc:/laragon/bin/apache/apache-2.4.17” [Tue Mar 01 08:52:22.939695 2016][mpm_winnt:notice][pid 6748:tid 544]AH00418:父进程:已创建子进程3672 [Tue Mar 01 08:52:23.214917 2016][ssl:warn][pid 3672:tid 532]AH01909:www.example.com:8443:0服务器证书不包含与服务器名称匹配的ID [Tue Mar 01 08:52:23.296629 2016][ssl:warn][pid 3672:tid 532]AH01909:www.example.com:8443:0服务器证书不包含与服务器名称匹配的ID [Tue Mar 01 08:52:23.306647 2016][mpm_winnt:notice][pid 3672:tid 532]AH00354:子线程:启动64个工作线程。 [Tue Mar 01 08:52:24.159843 2016][mpm_winnt:notice][pid 6748:tid 544]AH00428:父进程:子进程3672退出,状态为3221225725--重新启动。 [Tue Mar 01 08:52:24.305896 2016][ssl:warn][pid 6748:tid 544]AH01909:www.example.com:8443:0服务器证书不包含与服务器名称匹配的ID [星期二3月1日08:52:24.315916 2016][mpm_winnt:notice][pid 6748:tid 544]AH00455:Apache/2.4.17(Win32)OpenSSL/1.0.2d PHP/5.6.16已配置--恢复正常操作 [星期二3月1日08:52:24.315916 2016][mpm_winnt:notice][pid 6748:tid 544]AH00456:Apache Lounge VC11服务器构建时间:2015年10月13日10:54:13 [Tue Mar 01 08:52:24.315916 2016][core:notice][pid 6748:tid 544]AH00094:命令行:“C:\\laragon\\bin\\apache\\apache-2.4.17/bin/httpd-d C:/laragon/bin/apache/apache-2.4.17” [Tue Mar 01 08:52:24.317905 2016][mpm_winnt:notice][pid 6748:tid 544]AH00418:父进程:已创建子进程3600 [Tue Mar 01 08:52:24.580068 2016][ssl:warn][pid 3600:tid 552]AH01909:www.example.com:8443:0服务器证书不包含与服务器名称匹配的ID [Tue Mar 01 08:52:24.666114 2016][ssl:warn][pid 3600:tid 552]AH01909:www.example.com:8443:0服务器证书不包含与服务器名称匹配的ID
[Tue Mar 01 08:52:24.675120 2016][mpm_winnt:notice][pid 3600:tid 552]AH00354:Child:启动64个工作线程。
php artisan-serve
使用php内置服务器(
php-S localhost:80-t public
)托管应用程序

问题可能在于您的apache配置,因此请尝试以下方法:

# define DOCROOT variable
define DOCROOT "C:/xampp/htdocs"

<Directory "${DOCROOT}">
    AllowOverride All
    Require all granted
</Directory>

<VirtualHost *:80>
    DocumentRoot "C:/xampp/htdocs/myproject/public/"
    ServerName myproject.dev
</VirtualHost>
#定义DOCROOT变量
定义DOCROOT“C:/xampp/htdocs”
允许超越所有
要求所有授权
DocumentRoot“C:/xampp/htdocs/myproject/public/”
ServerName myproject.dev

如果问题仍然存在,请尝试使用并始终以管理员身份打开它。

此问题最终通过Apache的配置更改得到解决

将以下内容添加到httpd.conf文件中:

<IfModule mpm_winnt_module>
   ThreadStackSize 8888888
</IfModule>

螺纹尺寸88888
然后重新启动

问题是windows默认情况下的堆栈大小比Linux/Unix系统上的小。我花了一段时间才弄明白。Apache正在悄无声息地崩溃,我的日志中没有错误,因此很难跟踪

我正在处理的项目有大量的正则表达式调用,显然这是导致windows上apache出现此问题的已知触发器。如果您查看apache文档,我们可以将ThreadStackSize更新为更接近Unix/Linux系统的8MB


我希望这能帮助其他在运行apache作为本地服务器的windows系统上开发的人。这是一段时间以来最令人头疼的问题。

打开php错误日志可能会帮助您找到真正的问题。我的代码中有一个错误(使用isset()direct