【问题标题】:Symfony randomly crash - DebugClassLoader.phpSymfony 随机崩溃 - 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

> PHP 正在使用以下 php.ini 文件: C:\xampp7.0.9\php\php.ini > 检查 Symfony 要求: ………………………………………………………………………………………………………………………………………………………………………………………… [好的] 您的系统已准备好运行 Symfony 项目 改进设置的可选建议 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * 国际扩展名应该可用 > 安装并启用 intl 扩展(用于验证器)。 * 应安装 PHP 加速器 > 安装和/或启用 PHP 加速器(强烈推荐)。 注意 命令控制台可以使用不同的 php.ini 文件 ~~~~ 比你的网络服务器使用的那个。要上 安全方面,请从您的网站检查要求 服务器使用 web/config.php 脚本。

【问题讨论】:

  • 你使用 APC 吗?
  • 我更新了我的问题 - 正如你在图片上看到的那样 - 不,我没有使用 APC。
  • 认为窗户来自窗户。但是您至少应该启用一个加速器。尝试在 CLI 中的项目根目录下启动:php bin/symfony_requirements,查看是否报告了错误。
  • 问题已更新
  • 尝试激活opcache,这是PHP7的方式。

标签: php apache symfony caching


【解决方案1】:

“警告:class_implements():类 ���� 不存在且无法加载”时遇到同样的问题

我在 php.ini 中增加了 realpath_cache_size,现在 apache 可以正常工作,没有错误。

【讨论】:

  • 你有多少价值?我正在增加它,但今天它又崩溃了。所以我把它加倍到2048k。会看到
  • 我设置 realpath_cache_size = 64M
  • 嗨,我也遇到了同样的问题,在我的情况下,realpath_cache_size 甚至没有在 php.ini 中设置(它已被注释),我只是 未注释 它并保留默认值,在本例中为 4096k。奇怪的是,这是出乎意料的,以前从未发生过,就好像它度过了糟糕的一天或什么的:)。您是否能够进一步调查此事并找出问题所在?
  • 我在 prestashop 也有同样的问题。通过增加缓存大小来修复它。 realpath_cache_size
猜你喜欢
  • 1970-01-01
  • 2014-10-17
  • 2013-08-23
  • 2013-04-21
  • 2011-08-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多