【问题标题】:Wordpress Fatal error: Allowed memory size exhaustedWordpress 致命错误:允许的内存大小已用完
【发布时间】:2011-08-06 05:16:09
【问题描述】:

我正在通过 .CSV 导入大量文件 - 一切似乎都很好,但导入完成后我开始收到此错误:

在 WordPress 帖子管理页面 (http://localhost/wordpress/wp-admin/edit.php)

( ! ) Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 524288 bytes) in C:\wamp\www\wordpress\wp-includes\class-wp-walker.php on line 176
Call Stack
#   Time    Memory  Function    Location
1   0.0016  857424  {main}( )   ..\edit.php:0
2   9.4654  31424712    WP_List_Table->display( )   ..\edit.php:249
3   9.4655  31425264    WP_List_Table->display_tablenav( )  ..\class-wp-list-table.php:709
4   9.4660  31425808    WP_Posts_List_Table->extra_tablenav( )  ..\class-wp-list-table.php:761
5   10.0549 31394480    wp_dropdown_categories( )   ..\class-wp-posts-list-table.php:222
6   16.4317 261790880   walk_category_dropdown_tree( )  ..\category-template.php:370
7   16.4441 266681480   call_user_func_array ( )    ..\category-template.php:763
8   16.4441 266682016   Walker->walk( ) ..\category-template.php:0
9   16.4441 266682064   func_get_args ( )   ..\class-wp-walker.php:176

在导入 CSV 页面 (http://localhost/wordpress/wp-admin/tools.php?page=csv-importer/csv_importer.php) 我得到了

( ! ) Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 63 bytes) in C:\wamp\www\wordpress\wp-includes\class-wp-walker.php on line 176
Call Stack
#   Time    Memory  Function    Location
1   0.0006  707784  {main}( )   ..\tools.php:0
2   0.0014  827336  require_once( 'C:\wamp\www\wordpress\wp-admin\admin.php' )  ..\tools.php:10
3   0.2692  30508160    do_action( )    ..\admin.php:151
4   0.2692  30509656    call_user_func_array ( )    ..\plugin.php:405
5   0.2692  30509688    CSVImporterPlugin->form( )  ..\plugin.php:0
6   0.2694  30510936    wp_dropdown_categories( )   ..\csv_importer.php:111
7   6.3437  260920048   walk_category_dropdown_tree( )  ..\category-template.php:370
8   6.3582  265810672   call_user_func_array ( )    ..\category-template.php:763
9   6.3582  265811208   Walker->walk( ) ..\category-template.php:0
10  6.3582  265811256   func_get_args ( )   ..\class-wp-walker.php:176

过去几天我一直在搜索试图解决这个问题 - 所有修复似乎都指向使用 memory_limit(尝试 -1 和 9999m)修改 php.ini 或使用 define('WP_MEMORY_LIMIT', '64M');我回显了 php 信息,以确保更改发生的位置,并且看起来确实如此。如果有帮助,我会在 Windows 64x 上运行 WAMP。

所有帖子在前端都显示正常,只是在后端他们似乎产生了这个错误。老实说,我不知道下一步该尝试什么。欢迎任何想法!

【问题讨论】:

  • 我认为您应该做的第一件事是禁用 csv 导入插件,看看是否可以解决帖子列表屏幕上的问题。它看起来不像来自堆栈跟踪,但谁知道呢。如果它没有引起问题,那么您可能发现了一个 WP 错误。您目前在数据库中有多少帖子?

标签: php wordpress memory phpmyadmin


【解决方案1】:

某些网络服务器可能会施加内存限制。检查您的 Apache 设置以确保它不是罪魁祸首。

【讨论】:

  • 我在自己的机器上 - 运行 WAMP 的 Windows 7 x64 所以应该非常灵活。嗯...我在哪里可以找到 Apache 中的内存设置? - 谢谢
  • httpd.config文件中可能有RLimMem指令。
  • 在 httpd.conf 中似乎找不到任何提及 rlimit 或 RLimitMEM - 它会位于其他任何地方吗?
  • 看起来.htaccess 文件中也可能有一条内存线。
  • 我还发现了对可能的注册表项 HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Procrun 2.0\Tomcat6\Parameters\Java\JmvMx 的引用。
【解决方案2】:
    Try these different settings in C:\wamp\bin\apache\apache2.2.6\bin\php.ini

    Find:
    post_max_size = 8M
    upload_max_filesize = 2M
    max_execution_time = 30
    max_input_time = 60
    memory_limit = 8M

    Change to:
    post_max_size = 750M
    upload_max_filesize = 750M
    max_execution_time = 5000
    max_input_time = 5000
    memory_limit = 1000M

    And add this to C:\wamp\bin\mysql\mysql5.0.45\my.ini:

    max_allowed_packet = 200M

    Then restart wamp

【讨论】:

    【解决方案3】:

    尝试在csv_importer.php的顶部设置这段代码:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-06-27
      • 1970-01-01
      • 1970-01-01
      • 2018-12-15
      • 2015-05-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多