【问题标题】:Warning: A non-numeric value encountered on line 234警告:在第 234 行遇到一个非数字值
【发布时间】:2019-03-20 18:29:41
【问题描述】:

使用 php 7.2 我收到以下错误:

PHP 警告:第 234 行遇到的非数字值

这是第 234 行的样子:

$options['cpuLimit'] + 1, # hard limit

与其余代码一起使用:

if ( php_uname( 's' ) == 'Linux' ) {
    // Limit memory and CPU
    $cmd = wfEscapeShellArg(
        'exec', # proc_open() passes $cmd to 'sh -c' on Linux, so add an 'exec' to bypass it
        '/bin/sh',
        __DIR__ . '/lua_ulimit.sh',
        $options['cpuLimit'], # soft limit (SIGXCPU)
        $options['cpuLimit'] + 1, # hard limit
        intval( $options['memoryLimit'] / 1024 ),
        $cmd );
}

有人知道如何解决这个错误吗?

【问题讨论】:

  • 你确定$options['cpuLimit']实际上是一个数字吗?

标签: php


【解决方案1】:

您可以使用 intval() 从值中获取整数:

intval($options['cpuLimit']) + 1;

在使用 intval 之前,您可能首先要检查该值是否为数字。你可以用 is_numeric();

if (is_numeric($options['cpuLimit']) == true) {
    intval($options['cpuLimit']) + 1;
}

来源:PHP-intvalPHP-is_numeric

【讨论】:

  • 实际上演员会对抗症状,而不是原因。如果选项是由其他代码提供的,那么如果非数字选项有错误就可以了。如果你遵循按合同设计,那就是(:
猜你喜欢
  • 2020-01-04
  • 1970-01-01
  • 1970-01-01
  • 2018-05-03
  • 1970-01-01
  • 1970-01-01
  • 2018-12-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多