Ond*_*nek 3 php memory wordpress virtualhost
我刚刚将一个全新的 WordPress 下载到了一个虚拟服务器,其中 WP 和 MediaWiki 已经顺利运行。php.ini 中的 memory_limit 设置为 256MB。但出于某种原因,WP 认为它仅限于 2MB,请参阅下面的 Apache 日志条目。
[Sun Nov 19 08:50:21.692866 2017] [:error] [pid 74814] [client 109.81.213.117:59968]
PHP Fatal error: Allowed memory size of 2097152 bytes exhausted (tried to allocate
131072 bytes) in /var/www/foo.bar/subdomain/wp-includes/capabilities.php on line 452
Run Code Online (Sandbox Code Playgroud)
当我从新 WP 的 index.php 文件中打印 phpinfo() 时,它显示了 256MB 的限制,因此该子域或目录没有第二个秘密 php.ini 配置。
我还尝试在 .htaccess 或 php 文件中找到内存限制的恶作剧设置,但无济于事。( grep -r "memory_limit" .)
这个 2MB 限制可能来自哪里的任何想法?
更新
我放在ini_get('memory_limit'); exit;wp-settings.php 中间,它包含其他文件。有时它会256MB按预期写入,有时它会/var/www/iurium.cz/daily/wp-includes/wp-db.php以 2MB 的错误死掉。行为相当随意。
如果不是 htaccess、php.ini 或 ini_set,还有什么会影响内存限制?它与PHP有关系吗?它可以以某种方式在系统中设置吗?
确保你的memory_limit价值是256M(不是256MB)。
资源限制的 PHP 描述要求256M https://www.php.net/manual/en/ini.core.php#ini.memory-limit
您可以使用phpinfo()或ini_get('memory_limit')来检查该值。
如果memory_limit与预期格式不匹配,PHP 将默认为2M( 2097152bytes)