ApacheHTTP服务器仅停止为某个本地网站工作

时间:2016-02-12 作者:Nadroev

我与一些本地网站合作,但不久前,其中一个网站在我尝试使用时开始导致这些错误。我找不到时间,就离开了,所以我不知道是什么变化导致了这种情况。

这是问题签名:

  Problem Event Name:   APPCRASH
  Application Name: httpd.exe
  Application Version:  2.4.12.0
  Application Timestamp:    54c90386
  Fault Module Name:    php5ts.dll
  Fault Module Version: 5.6.8.0
  Fault Module Timestamp:   552ee66a
  Exception Code:   c0000005
  Exception Offset: 0002a796
  OS Version:   6.3.9600.2.0.0.256.48
  Locale ID:    1033
  Additional Information 1: 5861
  Additional Information 2: 5861822e1919d7c014bbb064c64908b2
  Additional Information 3: 1318
  Additional Information 4: 13181ae637ac2592fac0ca2dd662cdcc
它不会出现在主页上,但在查看用户配置文件时会出现并阻止页面加载,在查看单个帖子时也会出现。只有标头能够加载,并且它只显示以下消息:

Fatal error: Allowed memory size of 41943040 bytes exhausted (tried to allocate 36 bytes) in D:\\xampp\\htdocs\\mywebsite\\wp-includes\\functions.php on line 3374
这是功能的相关部分。php(我在第3374行后面添加了一条注释)

function wp_list_pluck( $list, $field, $index_key = null ) {
    if ( ! $index_key ) {
        /*
         * This is simple. Could at some point wrap array_column()
         * if we knew we had an array of arrays.
         */
        foreach ( $list as $key => $value ) { /* THIS IS LINE 3374 */
            if ( is_object( $value ) ) {
                $list[ $key ] = $value->$field;
            } else {
                $list[ $key ] = $value[ $field ];
            }
        }
        return $list;
    }

    /*
     * When index_key is not set for a particular item, push the value
     * to the end of the stack. This is how array_column() behaves.
     */
    $newlist = array();
    foreach ( $list as $value ) {
        if ( is_object( $value ) ) {
            if ( isset( $value->$index_key ) ) {
                $newlist[ $value->$index_key ] = $value->$field;
            } else {
                $newlist[] = $value->$field;
            }
        } else {
            if ( isset( $value[ $index_key ] ) ) {
                $newlist[ $value[ $index_key ] ] = $value[ $field ];
            } else {
                $newlist[] = $value[ $field ];
            }
        }
    }

    return $newlist;
}
有人知道是什么导致了这个错误,或者如何修复它吗?提前谢谢。

1 个回复
SO网友:Vasim Shaikh

首先打开wp配置。位于根WordPress目录中的php。然后在主php标记内添加以下行:

define(\'WP_MEMORY_LIMIT\', \'64M\');
我们刚刚将内存限制增加到64M。如果此修复后仍出现错误,请与主机联系。最有可能的是,他们必须php.ini 文件以增加内存限制。

如果您正在使用xampp,请编辑php。ini。搜索“memory_limit” 在php中。ini,并更改其值。如果否“memory_limit” 找到后,在php末尾添加以下行。ini公司

 memory_limit = 128M ; /* Change the 128M to your needs */
保存文件。重新启动Apache

Note:You can find xampp/php/php.ini