我有两个简单的文件(+由composer生成和下载的文件)
我有一个简单的php文件:
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);
require __DIR__ . '/vendor/composer/autoload_classmap.php';
echo 'OK';
其中autoload_classmap.php是基于这个composer.json:生成的
{
"require-dev": {
"symplify/easy-coding-standard": "5.3.*"
},
"config": {
"optimize-autoloader": true
}
}
但是php脚本在require行失败。没有错误,没有返回任何数据。浏览器仅显示ERR_CONNECTION_RESET
(composer中的特定包可能无关紧要,我选择它是因为它有很多依赖项)
问题在于所需文件的大小(可能不是文件的绝对大小,而是数组中被返回的行数起着决定性的作用),如果我将行数减少到1600左右(我无法确定确切的行数——可能是单个行的长度)。
我认为这个问题和composer本身并没有真正的联系,尽管当我试图用更大的随机长文本数组替换类数组时,它运行得很好。
问题(很可能)取决于平台:我在服务器上尝试过,效果很好,但当我通过web浏览器在使用Windows+WAMPServer(在两台不同的机器上测试)的机器上本地运行它时,它会失败,并出现上述断开连接错误。它在Chrome和Edge中都失败了。
我运行Windows 10、PHP 7.2.12(但也使用7.3进行了测试)、Apache 2.4.37
另一方面,当通过CLI运行时,它再次正常工作——所以我认为php中的某些特定设置没有问题。但再说一遍——也许,我知道什么?:)
我试图找到为什么要求可能会默默失败的原因,但我什么也找不到。而且我没有什么想法可以让它发挥作用。我在我的真实应用程序中使用的框架依赖于需要这个文件,因此我需要将自动加载器优化为false(只是因为这样它会生成更小的文件并需要工作)
有什么想法吗?
感谢
原来apache记录了这个通知:
[mpm_winnt:notice] [pid 6696:tid 672] AH00428: Parent: child process 14924 exited with status 3221225725 -- Restarting.
这让我找到了这个解决方案:https://www.codexpedia.com/apache-server/parent-child-process-exited-with-status-3221225725-restarting-on-xamp-apache/
我所需要做的就是添加这个:
<IfModule mpm_winnt_module>
ThreadStackSize 8888888
</IfModule>
在httpd.conf文件中。