具有返回值的文件的require静默失败。

时间:2019-01-05 22:43:36

标签: php composer-php require

我有两个简单的文件(+由作曲家生成和下载的文件)

我有一个简单的php文件:

<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);

require __DIR__ . '/vendor/composer/autoload_classmap.php';

echo 'OK';

其中基于此composer.json生成autoload_classmap.php:

{
  "require-dev": {
    "symplify/easy-coding-standard": "5.3.*"
  },
  "config": {
    "optimize-autoloader": true
  }
}

但是php脚本在与require一起失败。没有错误,没有数据返回。浏览器仅显示ERR_CONNECTION_RESET。

(composer中的特定软件包可能无关紧要,我选择它是因为它有很多依赖性)

问题在于所需文件的大小(也许不是文件的绝对大小,而是确定要返回的数组中的行数起一定作用),如果我删除的行数减少到1600左右(我无法确定确切的数字-单行的长度可能是影响因素)。

我认为这个问题并没有真正与作曲家联系在一起,尽管当我尝试用更大的随机长文本数组替换类数组时,它仍然可以正常工作。

问题是(最有可能)取决于平台的:我在服务器上尝试了它,并且工作正常,但是当我通过网络浏览器在使用Windows + WAMPServer的计算机上本地运行(在两台不同的计算机上测试)时,失败,出现上述问题断开连接错误。它在Chrome和Edge中均失败。

我运行Windows 10,PHP 7.2.12(但也通过7.3测试),Apache 2.4.37

另一方面,通过CLI运行时,它又可以正常工作-因此,我认为php中的某些特定设置没有问题。但是,再次-也许,我知道什么? :)

我试图找到为什么require可能会悄然失败的原因,但我什么也没找到。而且我没有让它起作用的想法。我在实际应用程序中使用的框架依赖于此文件,因此我需要将optimize-autoloader设置为false(这是因为这样做会生成更小的文件并需要工作)

有什么想法吗?

谢谢

1 个答案:

答案 0 :(得分:0)

结果是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文件中的