更改显示设置后新 Drupal 8 安装中的错误 500(分配的最大内存)
Error 500 (Max Memory Allocated) in new Drupal 8 Installation after changing Display Settings
我设置了一个新的 Drupal 8 实例并安装了两个模块:
- 段落 (8.x-1.12)
- 实体参考修订(8.x-1.9)
我还安装了 Barrio 主题(Barrio 5.5.1。)
然后我继续创建了一个包含两个字段(均为段落修订)的新内容类型。
当尝试通过导航到内容 -> 添加来添加新页面时,一切正常,直到我继续对内容类型的表单显示或显示设置进行任何修改。
一旦进行了修改,无论进行了哪些修改,我都会在添加上述内容类型的页面时收到错误 500。
相关日志条目:
var/www/vhosts/some-website.com/httpdocs/core/lib/Drupal/Core/Field/WidgetBase.php on line 510', referer: https://some-website.com/node/add/
[Thu Jun 24 16:33:28.779959 2021] [proxy_fcgi:error] [pid 10213:tid 140020013704960] [client 91.249.132.211:43799] AH01071: Got error 'PHP message: PHP Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 135168 bytes) in /var/www/vhosts/some-website.com/httpdocs/core/lib/Drupal/Core/Field/WidgetBase.php on line 510'
[Thu Jun 24 16:36:33.558731 2021] [proxy_fcgi:error] [pid 10213:tid 140019649947392] [client 91.249.132.211:62936] AH01071: Got error 'PHP message: PHP Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 135168 bytes) in /var/www/vhosts/some-website.com/httpdocs/modules/paragraphs/src/Plugin/Field/FieldWidget/InlineParagraphsWidget.php on line 821', referer: https://some-website.com/node/add/
[Thu Jun 24 16:36:55.127020 2021] [proxy_fcgi:error] [pid 10213:tid 140019616376576] [client 91.249.132.211:63829] AH01071: Got error 'PHP message: PHP Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 135168 bytes) in /var/www/vhosts/some-website.com/httpdocs/core/lib/Drupal/Core/Field/WidgetBase.php on line 510'
我已经尝试将内存限制增加到极值,但没有成功。
我目前正在使用 PHP v7.3.28 以及 Drupal 核心 8.9.16。
通过 Plesk 在 Linux 服务器上 运行 安装。
有人知道哪里出了问题吗?
只是一个问题(也可能是你的答案):你的服务器是共享的吗?它是否有足够的内存来 运行 应用程序或至少有足够的内存来执行主要安装命令?
我在 Magento 上遇到了同样的问题,但这是因为服务器是共享的,当我尝试使用一些 CI/CD 脚本在服务器上部署应用程序时,composer 由于内存堆而中断。
但无论如何问题可能是以下原因:
- 您的服务器内存不足。
- php.ini 配置正在设置最大内存使用上限。
有时可能是库太长了,因为安装时间太长(由于互联网连接或在线存储库面临问题)并且 PHP 挂起等待安装完成,因为它需要更多使用更多内存的时间。
无论如何,该错误表明您没有足够的内存来执行您正在尝试执行的操作。
您的内存设置为小于 256MB,这是它试图分配的内存 - (268435456 + 135168) / 1024 / 1024
你提到,
I have already tried increasing the memory limit to extreme values, but without success.
在评论中,
Yes, definitely successful and no change, regardless of the value set
如果您转到 /admin/reports/status
,是报告 256MB 还是报告您正在设置的更高的极端值。
如果未显示,请转至 /admin/reports/status/php
并查找 Loaded Configuration File
。该值将指向您应该修改的 php.ini
文件。
确保您正在修改该文件。
如果这是您要修改的文件,我会尝试重新启动整个服务器。要么您只是重新启动 Apache 并且 PHP 不是 运行 作为模块,要么有其他事情发生,例如存在上限或值在另一个位置被覆盖。
我设置了一个新的 Drupal 8 实例并安装了两个模块:
- 段落 (8.x-1.12)
- 实体参考修订(8.x-1.9)
我还安装了 Barrio 主题(Barrio 5.5.1。)
然后我继续创建了一个包含两个字段(均为段落修订)的新内容类型。 当尝试通过导航到内容 -> 添加来添加新页面时,一切正常,直到我继续对内容类型的表单显示或显示设置进行任何修改。 一旦进行了修改,无论进行了哪些修改,我都会在添加上述内容类型的页面时收到错误 500。
相关日志条目:
var/www/vhosts/some-website.com/httpdocs/core/lib/Drupal/Core/Field/WidgetBase.php on line 510', referer: https://some-website.com/node/add/
[Thu Jun 24 16:33:28.779959 2021] [proxy_fcgi:error] [pid 10213:tid 140020013704960] [client 91.249.132.211:43799] AH01071: Got error 'PHP message: PHP Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 135168 bytes) in /var/www/vhosts/some-website.com/httpdocs/core/lib/Drupal/Core/Field/WidgetBase.php on line 510'
[Thu Jun 24 16:36:33.558731 2021] [proxy_fcgi:error] [pid 10213:tid 140019649947392] [client 91.249.132.211:62936] AH01071: Got error 'PHP message: PHP Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 135168 bytes) in /var/www/vhosts/some-website.com/httpdocs/modules/paragraphs/src/Plugin/Field/FieldWidget/InlineParagraphsWidget.php on line 821', referer: https://some-website.com/node/add/
[Thu Jun 24 16:36:55.127020 2021] [proxy_fcgi:error] [pid 10213:tid 140019616376576] [client 91.249.132.211:63829] AH01071: Got error 'PHP message: PHP Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 135168 bytes) in /var/www/vhosts/some-website.com/httpdocs/core/lib/Drupal/Core/Field/WidgetBase.php on line 510'
我已经尝试将内存限制增加到极值,但没有成功。 我目前正在使用 PHP v7.3.28 以及 Drupal 核心 8.9.16。 通过 Plesk 在 Linux 服务器上 运行 安装。
有人知道哪里出了问题吗?
只是一个问题(也可能是你的答案):你的服务器是共享的吗?它是否有足够的内存来 运行 应用程序或至少有足够的内存来执行主要安装命令?
我在 Magento 上遇到了同样的问题,但这是因为服务器是共享的,当我尝试使用一些 CI/CD 脚本在服务器上部署应用程序时,composer 由于内存堆而中断。
但无论如何问题可能是以下原因:
- 您的服务器内存不足。
- php.ini 配置正在设置最大内存使用上限。
有时可能是库太长了,因为安装时间太长(由于互联网连接或在线存储库面临问题)并且 PHP 挂起等待安装完成,因为它需要更多使用更多内存的时间。
无论如何,该错误表明您没有足够的内存来执行您正在尝试执行的操作。
您的内存设置为小于 256MB,这是它试图分配的内存 - (268435456 + 135168) / 1024 / 1024
你提到,
I have already tried increasing the memory limit to extreme values, but without success.
在评论中,
Yes, definitely successful and no change, regardless of the value set
如果您转到 /admin/reports/status
,是报告 256MB 还是报告您正在设置的更高的极端值。
如果未显示,请转至 /admin/reports/status/php
并查找 Loaded Configuration File
。该值将指向您应该修改的 php.ini
文件。
确保您正在修改该文件。
如果这是您要修改的文件,我会尝试重新启动整个服务器。要么您只是重新启动 Apache 并且 PHP 不是 运行 作为模块,要么有其他事情发生,例如存在上限或值在另一个位置被覆盖。