【问题标题】:array_keys() expects parameter 1 to be array, null given in common.inc line number 7259array_keys() 期望参数 1 是数组,在 common.inc 行号 7259 中给出 null
【发布时间】:2021-08-15 18:33:42
【问题描述】:

这是我从我的 nginx 日志中得到的。

2021/05/27 17:26:27 [error] 24466#24466: *31 FastCGI sent in stderr: "PHP message: PHP Warning: array_keys() 期望参数 1 为数组,在 /var/ 中给出 null www/html/mysite/includes/common.inc 在第 7259 行

function drupal_schema_fields_sql( $table, $prefix = NULL) {
7258   $schema = drupal_get_schema($table);
7259   $fields = array_keys($schema['fields']);
7260   if ($prefix) {
7261     $columns = array();
7262     foreach ($fields as $field) {
7263       $columns[] = "$prefix.$field";
7264     }
7265     return $columns;
7266   }
7267   else {
7268     return $fields;
7269   }
7270 }

谁能帮我解决这个问题?

【问题讨论】:

  • 检查 $schema['fields']。它必须是错误所说的数组
  • 尝试打印 $schema 值并检查 fields 参数是否为 null,这可能是。如果是这样,则意味着您的表没有字段
  • 同一个文件和同一个数据库正在其他服务器上运行并且它没有给出任何错误。这怎么可能

标签: php nginx error-handling drupal drupal-7


【解决方案1】:
array_keys ( array $array ) : array

它期望数组作为参数。在你的情况下 $schema['fields'].好像不是数组。

尝试 var_dump 检查 fields 数组是否存在

var_dump($schema);

【讨论】:

  • 如何检查架构正在获取哪个表的数据
  • 有什么问题?你试过var_dump($schema);
  • 是的,它使用 var_dump() 在页面中显示数组
  • @AyanantaChakraborty 你还需要支持吗?解决了吗
  • 服务器中缺少几个 php 扩展,这就是它抛出错误的原因。现在已经解决了。
猜你喜欢
  • 2015-08-25
  • 2014-06-28
  • 1970-01-01
  • 2017-05-03
  • 1970-01-01
  • 2019-06-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多