Иногда при обновлении ОС или переносе блога на другой хостинг появляются ошибки, которых вроде не должно быть, там работает, здесь. Плагин Revolution Slider используется во многих премиум темах. При переносе на Ubuntu 16.04 в котором по умолчанию используется PHP 7.0 появляется такая ошибка.
Plugin could not be activated because it triggered a fatal error.
Fatal error: Call to undefined function mysql_error() in /var/www/wp-content/plugins/revslider/inc_php/framework/db.class.php on line 29
Связано это с тем, что функция «mysql_error» в PHP 5.5.0 объявлена как deprecated и убрана с PHP 7. Решается проблема проверкой ее наличия. В файле wp-content/plugins/revslider/inc_php/framework/db.class.php вместо строки:
if(mysql_error()){
$query = $this->wpdb->last_query;
$message = $this->wpdb->last_error;
if($prefix) $message = $prefix.' - '.$message.'';
if($query) $message .= '
---
Query: ' . $query;
$this->throwError($message);
}
Пишем такой код.
if( function_exists('mysql_error')){
if(mysql_error()){
$query = $this->wpdb->last_query;
$message = $this->wpdb->last_error;
if($prefix) $message = $prefix.' - '.$message.'';
if($query) $message .= '
---
Query: ' . $query;
$this->throwError($message);
}
}
После этого все работает.
//
Огромное спасибо! Хоть этого кода и не нашлось (в новых версиях переписали они часть кода), зато проблема решилась переходом с пхп 5,5 на 5,6.