PHP错误(”A non-numeric value encountered in…”)

我最近在服务器上将PHP版本从7.0更改为7.1。在查看我的错误日志时, 我现在遇到以下错误:

AH01071:收到错误的’ PHP消息:PHP警告:/width.php在第74 \ nPHP行遇到一个非数字值
受影响的代码如下。第74行是代码中的最后一行, 如下所示。
// // Get settings. //$a = x_get_option( 'x_layout_site' ); $b = x_get_option( 'x_layout_content' ); $c = x_get_option( 'x_layout_site_width' ); $d = x_get_option( 'x_layout_site_max_width' ); $e = x_get_option( 'x_layout_content_width' ); $f = x_get_option( 'x_layout_sidebar_width' ); // // Adjust settings. //$site_layout= ( $a == '' ) ? 'full-width': $a; $content_layout = ( $b == '' ) ? 'content-sidebar' : $b; $site_width= ( $c == '' ) ? 88 / 100: $c / 100; $site_max_width = ( $d == '' ) ? 1200: $d; $content_width= ( $e == '' ) ? 72 - $m: $e - $m; // Line affected

我已经阅读了以下地方讨论的有关格式错误的数值遇到的错误。1, 2, 3, 4进行了几次Google搜索, 看来这与PHP 7.1处理非数值计算的方式有关, 5。建议在$ content-width中捕获潜在的” 自动” 值并将其转换为零。我尝试通过以下代码更改来进行此类错误捕获:
// // Adjust settings. //$site_layout= ( $a == '' ) ? 'full-width': $a; $content_layout = ( $b == '' ) ? 'content-sidebar' : $b; $site_width= ( $c == '' ) ? 88 / 100: $c / 100; $site_max_width = ( $d == '' ) ? 1200: $d; if ($m=='auto') {$m=0; } // set auto to 0 $content_width= ( $e == '' ) ? 72 - $m: $e - $m; // Line affected

但是, 错误似乎继续。提出的另一个建议是禁止PHP警告, 但是由于我正在调试其他代码, 因此我不想这样做。我也不认为这是个好习惯。
【PHP错误(” A non-numeric value encountered in…” )】对于那些对更大代码体的来源感兴趣的人来说, 它是WordPress的” X” 主题。从PHP 7.0转换为7.1时, 仅在此处发生错误。
感谢你对修复此问题的任何见解。谢谢。
#1我实际上是通过升级到新的X主题更新并更新到PHP 7.1.8来修复它的。没有更多的错误!

    推荐阅读