MAMP PHP致命错误:允许的内存大小已用完


MAMP PHP Fatal error: Allowed memory size exhausted

我知道当网站位于本地服务器上时,诊断和帮助会有点困难,但我希望其他人已经遇到这种情况,或者对发生这种情况的原因有一个大致的了解?这与wordpress有关,但我觉得大部分问题与它无关,而是集中在MAMP和我遇到的这个错误上。

我现在刚刚尝试将另一个网站迁移到我的本地服务器,但由于某种原因,它根本不起作用……我得到的只是一个白色屏幕。我使用了来自http://codex.wordpress.org/Editing_wp-config.php#Configure_Error_Logging

/**
 * This will log all errors notices and warnings to a file called debug.log in
 * wp-content (if Apache does not have write permission, you may need to create
 * the file first and set the appropriate permissions (i.e. use 666) )
 */
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
@ini_set( 'display_errors', 0 );

我还将我的DEBUG设置为true。所以我检查了我创建的这个debug.log文件,看到了这个错误

〔03-Sep-2014 22:50:45〕PHP致命错误:允许41943040字节的内存大小耗尽(试图分配30720字节)在/Applications/MAMP/htdocs/_ANEW/wp-admin/includs/misc.PHP的第620行

这到底是什么意思?

我进入了弹出"错误"的位置,然后删除了看起来像的620行

<input name="admin_color" id="admin_color_<?php echo esc_attr( $color ); ?>" type="radio" value="<?php echo esc_attr( $color ); ?>" class="tog" <?php checked( $color, $current_color ); ?> />

然后在同一个文件上出现另一个错误行,然后再次出现。因此,作为测试,我删除了页面上的所有内容。然后我在post.php页面上看到另一条错误行。。

这是完整的debug.log文件

[03-Sep-2014 22:50:45] PHP Fatal error:  Allowed memory size of 41943040 bytes exhausted (tried to allocate 30720 bytes) in /Applications/MAMP/htdocs/_ANEW/wp-admin/includes/misc.php on line 620
[03-Sep-2014 22:55:02] PHP Fatal error:  Allowed memory size of 41943040 bytes exhausted (tried to allocate 30720 bytes) in /Applications/MAMP/htdocs/_ANEW/wp-admin/includes/misc.php on line 621
[03-Sep-2014 22:55:30] PHP Fatal error:  Allowed memory size of 41943040 bytes exhausted (tried to allocate 7680 bytes) in /Applications/MAMP/htdocs/_ANEW/wp-admin/includes/misc.php on line 616
[03-Sep-2014 22:55:50] PHP Fatal error:  Allowed memory size of 41943040 bytes exhausted (tried to allocate 7680 bytes) in /Applications/MAMP/htdocs/_ANEW/wp-admin/includes/misc.php on line 618
[03-Sep-2014 22:56:05] PHP Fatal error:  Allowed memory size of 41943040 bytes exhausted (tried to allocate 122880 bytes) in /Applications/MAMP/htdocs/_ANEW/wp-admin/includes/post.php on line 271
[03-Sep-2014 22:56:48] PHP Fatal error:  Allowed memory size of 41943040 bytes exhausted (tried to allocate 122880 bytes) in /Applications/MAMP/htdocs/_ANEW/wp-admin/includes/post.php on line 281
[03-Sep-2014 23:29:12] PHP Fatal error:  Allowed memory size of 41943040 bytes exhausted (tried to allocate 122880 bytes) in /Applications/MAMP/htdocs/_ANEW/wp-admin/includes/post.php on line 271
[03-Sep-2014 23:32:58] PHP Fatal error:  Allowed memory size of 41943040 bytes exhausted (tried to allocate 122880 bytes) in /Applications/MAMP/htdocs/_ANEW/wp-admin/includes/post.php on line 271

我在谷歌上搜索过,服务器似乎给了你足够的内存,大多数东西甚至不应该使用这么多空间。。那么接下来会发生什么呢?

我也找过php.ini文件,但找不到。我需要MAMP PRO吗?

我很困惑。因此,任何建议或建议都将不胜感激。

转到php.ini文件并将memory_limit编辑为更高的值。从当前值的两倍开始并增加,直到错误消失(然后添加一些MB)

要增加MAMP的内存限制,请转到PHP路径(可能有所不同):CCD_ 1。

然后增加此处的值:

; Maximum amount of memory a script may consume
; http://php.net/memory-limit
memory_limit = 128M

增加内存限制值后,必须重新启动MAMP服务器

此外,您需要在终端中运行此命令:

php artisan optimize

感谢

在授予更多内存之前,先弄清楚是什么耗尽了你所有的内存。您可以通过重命名插件文件夹来禁用插件。大多数时候,如果你这样做,并且你的网站在没有这些警告的情况下加载,这意味着你的一些插件占用了太多的资源。如果这不起作用,请禁用您的活动主题,并使其默认为Twenty19th或WP中的任何最新主题。

不需要更改php.ini文件,只需在php文件的开头添加以下代码:

ini_set('memory_limit','32M');

如果错误没有消失,则慢慢增加32M。

通过这种方式,您可以将memory_limit设置为需要更多内存才能执行的脚本,而不是整个php环境。

如果你的代码消耗的内存超过了应该消耗的内存,也要检查你的代码,因为这可能会在长期运行的中造成问题

相关文章: