Symfony 随机崩溃 - DebugClassLoader.php
Posted
技术标签:
【中文标题】Symfony 随机崩溃 - DebugClassLoader.php【英文标题】:Symfony randomly crash - DebugClassLoader.php 【发布时间】:2017-10-07 15:43:19 【问题描述】:我有基于 symfony 框架的网站,但在开发环境中我有随机崩溃,但有异常:(带有坏字符)
警告:class_implements():类 ����不存在,无法加载
或
警告:class_implements():H 类 ����不存在,无法加载
或
DebugClassLoader.php 第 203 行中的 ContextErrorException: 警告:class_implements():类 multipart/form-data 不存在且无法加载
(php 没有使用 symfony 表单,请求是 GET)
或
DebugClassLoader.php 第 203 行中的 OutOfMemoryException:错误:134217728 字节的允许内存大小已用尽(尝试分配 1141972672 字节)
(内存限制设置为 128MB,但请求大约需要 6MB)
所有这些不同的异常都在一个具有相同参数的 url 上引发(出于测试目的),因此它们在整个网络中随机引发。
此错误不在生产环境中仅在开发环境中。
开发环境是在带有 XAMPP/apache 的 windows 7 机器上。
如果我重新启动 apache 并按 F5,一切正常,网络工作正常。
我试图清除所有缓存但没有成功。
有什么想法吗?
编辑:
激活 OPCache 后问题依旧...
我来自 symfony 调试栏的配置:
如果我从 CLI 运行命令 php bin/symfony_requirements
【问题讨论】:
你使用 APC 吗? 我更新了我的问题 - 正如你在图片上看到的那样 - 不,我没有使用 APC。 认为窗户来自窗户。但是您至少应该启用一个加速器。尝试在 CLI 中的项目根目录下启动:php bin/symfony_requirements
,查看是否报告了错误。
问题已更新
尝试激活opcache,这是PHP7的方式。
【参考方案1】:
“警告:class_implements():类 ���� 不存在且无法加载”时遇到同样的问题
我在 php.ini 中增加了 realpath_cache_size,现在 apache 可以正常工作,没有错误。
【讨论】:
你有多少价值?我正在增加它,但今天它又崩溃了。所以我把它加倍到2048k。会看到 我设置 realpath_cache_size = 64M 嗨,我也遇到了同样的问题,在我的情况下,realpath_cache_size
甚至没有在 php.ini 中设置(它已被注释),我只是 未注释 它并保留默认值,在本例中为 4096k。奇怪的是,这是出乎意料的,以前从未发生过,就好像它度过了糟糕的一天或什么的:)。您是否能够进一步调查此事并找出问题所在?
我在 prestashop 也有同样的问题。通过增加缓存大小来修复它。 realpath_cache_size以上是关于Symfony 随机崩溃 - DebugClassLoader.php的主要内容,如果未能解决你的问题,请参考以下文章
Symfony 学说 DQL 随机结果在使用 MaxResult 的查询中