警告:session_start() 期望参数 1 为数组,给定字符串

问题描述 投票:0回答:1

这是我在WordPress中遇到的问题。截取的代码在这里。警告指出问题出在第 286 行。第 286 行以第二个 $value 变量开始。这是网站的链接:RedTwig 这是文件的链接:class-wp-hook.php

// Avoid the array_slice if possible.
            if ( $the_['accepted_args'] == 0 ) {
                $value = call_user_func_array( $the_['function'], array() );
            } elseif ( $the_['accepted_args'] >= $num_args ) {
                $value = call_user_func_array( $the_['function'], $args );
            } else {
                $value = call_user_func_array( $the_['function'], array_slice( $args, 0, (int)$the_['accepted_args'] ) );
            }
php wordpress warnings session-variables
1个回答
0
投票

按照 WordPress 调试的正常流程,您将查明错误:

您遇到的错误与 PHP 中的

session_start()
函数有关,并在 WordPress 核心内的
class-wp-hook.php
文件中触发。该错误消息表明
session_start()
函数需要一个数组作为其第一个参数,但它接收的是一个字符串。

以下是您可以检查的一些事项以及可能的解决方案:

  1. 检查您的主题和插件:

    • 停用所有插件并切换到默认 WordPress 主题(如二十一)。如果错误消失,请一一重新激活您的插件和主题以找出罪魁祸首。
  2. 检查Functions.php文件:

    • 如果您的主题的
      functions.php
      文件中有自定义代码,请确保它不会使用字符串参数调用
      session_start()
      。通常应该在不带任何参数的情况下调用它。
  3. 检查会话操纵:

    • 确保没有自定义代码或插件使用不正确的数据类型直接操作会话。
  4. 检查PHP版本兼容性:

    • 确保您安装的 WordPress 使用与您运行的 WordPress 版本兼容的 PHP 版本。查看官方 WordPress 要求以获取推荐的 PHP 版本。
  5. 更新WordPress:

    • 确保您的 WordPress 安装、主题和插件是最新的。这些组件中任何一个的过时版本都可能会导致兼容性问题。

就我而言,错误来自插件。

© www.soinside.com 2019 - 2024. All rights reserved.