我最近在服务器上将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警告, 但是由于我正在调试其他代码, 因此我不想这样做。我也不认为这是个好习惯。
对于那些对更大代码体的来源感兴趣的人来说, 它是WordPress的” X”主题。从PHP 7.0转换为7.1时, 仅在此处发生错误。
感谢你对修复此问题的任何见解。谢谢。
#1
我实际上是通过升级到新的X主题更新并更新到PHP 7.1.8来修复它的。没有更多的错误!
评论前必须登录!
注册