возможно заказать разработку или сопровождение, услуги вашего сайта/блога


обновлено: 2024-02-13 в теме: Хостинги
Запросто с WordPress создание и продвижение сайтов ATs media

Доступна поддержка PHP 7.1 (теперь и на Джино) – ошибки в работе сайта ! варианты решений…

С некоторых недавних пор владельцам сайтов доступен переход на обновлённую версию php 7.1, в частности ! на хостинге Джино теперь возможно перевести аккаунт аккурат на новую версию! (перед этим работала версия 7.0) – переход осуществляется легко и просто! (кто не знает как, ссылка на статью чуть ниже), однако – сегодня разговор не об этом.

Любое обновление, это, конечно, нужное дело! но вместе с обновлением могут прийти и какие-то ошибки в работу сайта, – например, я столкнулся с такой закавыкой: выскочило предупреждение в блоке, где использовались миниатюры постов. Предупреждение гласило Warning: A non-numeric value encountered in /home/users/c/что-то_ещё/domains/домен.ru/wp-includes/media.php on line 647 …это сообщает нам о том, что в операциях php обработки используются не числовые значения! …далее подробнее…с вариантами решения задачи…


 

 

как отключить предупреждение на фронтенде о не числовой php обработке

 

 

 

 

 

Warning: A non-numeric value encountered in …

 

 

 

Во-первых, нужно пояснить: данное сообщение всего-то предупреждение (в PHP 7.1), но не ошибка! – предупреждение!

 

 

Предупреждение сообщает о том, что в php операциях используются так называемые не числовые значения (можете воспользоваться, к примеру, Гугл переводчиком).

Далее в сообщении на сайте указаны путь к файлу и номер строки, в которой сгенерировано это предупреждение.

 

 

 

включить поддержку php 7.1 джино

 

 

 

Отключить вывод warning-предупреждения можно таким способом: (сразу говорю: этот вариант не совсем правильный; или совсем – не правильный, ибо мы предполагаем править ядро WP, а это нецелесообразно, ибо с очередными обновами WP правки затрутся!) рассматриваем его только знаний для (следующий способ из статьи – более верное решение…).

 

 

…а пока путь таков:

 

/wp-includes/media.php

 

…пройдя по которому, нужно отыскать функцию:

 

 

Функция: function wp_image_matches_ratio

/**
* Helper function to test if aspect ratios for two images match.
*
* @since 4.6.0
*
* @param int $source_width Width of the first image in pixels.
* @param int $source_height Height of the first image in pixels.
* @param int $target_width Width of the second image in pixels.
* @param int $target_height Height of the second image in pixels.
* @return bool True if aspect ratios match within 1px. False if not.
*/
function wp_image_matches_ratio( $source_width, $source_height, $target_width, $target_height ) {
/*
* To test for varying crops, we constrain the dimensions of the larger image
* to the dimensions of the smaller image and see if they match.
*/
if ( $source_width > $target_width ) {
$constrained_size = wp_constrain_dimensions( $source_width, $source_height, $target_width );
$expected_size = array( $target_width, $target_height );
} else {
$constrained_size = wp_constrain_dimensions( $target_width, $target_height, $source_width );
$expected_size = array( $source_width, $source_height );
}

// If the image dimensions are within 1px of the expected size, we consider it a match.
//if (is_numeric($constrained_size[0]) && is_numeric($expected_size[0])) { //это добавил
$matched = ( abs( $constrained_size[0] - $expected_size[0] ) <= 1 && abs( $constrained_size[1] - $expected_size[1] ) <= 1 );

return $matched;
//это добавил - закр. скобка }
}

 

 

 

Сама функция (ниже её имя): добавлена в WP 4.6 для коррекции и сверки параметров медиафайлов, скажем так, в свете сегодняшней темы:

 

 

function wp_image_matches_ratio( $source_width, $source_height, $target_width, $target_height )

 

призвана как:

 

Helper function to test if aspect ratios for two images match –

Вспомогательная функция для проверки, если пропорции двух картинок совпадают…

 

…и возвращает: return bool

 

True if aspect ratios match within 1px. False if not. –

true, если соотношения сторон совпадают 1px. false если нет.

 

 

И вот, коли какие-то несоответствия размеров обнаружены в связке ядра шаблона и ядра же вордпресс, выдаётся предупреждение.

 

 

В этом случае перехода на более свежую версию php стоит решать: оставаться ли на прежней, либо идти в ногу со временем, т.е обновиться до 7.1. Я всегда обновляюсь!

 

 

Однако более глубоко разбираться со всякими “непонятностями”, правильнее где-нить на тестовом сайте: так мы и поступим.

А рабочие площадки стоит избавить от назойливой подсказки разработчику, но при этом оставить на новейшей 7.1 версии php! и наблюдать за совместимостью в процессе… мало ли что ещё!

 

 

Значит, для того, чтобы читатели сайта не пугались странных фраз (пока мы подгоняем наш сайт к обнове…)… нужно всего-то выключить “предупреждение отработки php!”.

 

 

Вот те строки из показанной выше функции, которые нужно подредактировать:

 

}
//If the image dimensions are within 1px of the expected size, we consider it a match.
if (is_numeric($constrained_size[0]) && is_numeric($expected_size[0])) { //это добавил
$matched = ( abs( $constrained_size[0] - $expected_size[0] ) <= 1 && abs( $constrained_size[1] - $expected_size[1] ) <= 1 );

return $matched;
}

} //это добавил

 

 

Т.е перед строкой:

 

$matched = ( abs( $constrained_size[0] - $expected_size[0] ) <= 1 && abs( $constrained_size[1] - $expected_size[1] ) <= 1 );

 

 

нужно дописать эту (условие):

 

if (is_numeric($constrained_size[0]) && is_numeric($expected_size[0])) {

 

 

 

поддержка php 7-1 джино

 

 

…и не забываем о закрывающей условие фигурной скобке! на фотке строка 652.

 

Можете перекопировать функцию и просто раскомментировать в показанном примере строку и закрывающую скобку. Всё тут же заработает!

 

 

 

 

как отключить проверку не числовых значений в wp-config.php

 

 

 

 

Этот способ наиболее логичен и правилен, ибо в этом случае мы правим файлы касаемые только нашего сайта – не ядра WP. Таким образом наши правки вне зависимости от обнов ВП!

 

Надлежит открыть файл wp_config.php (находится в корне сайта, там же где и robots.txt или .htaccess) и подредактировать условия константы “Дебаг” (WP_DEBUG),  чтобы отключить вывод предупреждения!

 

 

Итак:

 

wp-config.php

 

домен.ru/wp-config.php

 

 

Тут дело вот в чём: файл конфигурации у нас всех может незначительно отличаться… потому что некоторые админы добавляют какие-то удобные для себя разрешения и пр…

 

 

Словом, отыщите у себя в файле строку

 

define('WP_DEBUG', false);

 

строка должна быть! …и допишите прямо под ней “запрет” на вывод предупреждения-сообщения @ini_set(‘display_errors’, 0);

 

 

 

define('WP_DEBUG', false);
@ini_set('display_errors', 0);// ДОБАВИМ эту строку - отключим проверку
/** выдаётся ошибка в версии php 7.1 говорит о том что в операциях используются не числовые значения: проверка, например, миниатюр - картинки */

 

 

 

Либо же, если по каким-то странным причинам, Дебаг не отыскали – дописывайте обе строки…

 

define('WP_DEBUG', false);
@ini_set('display_errors', 0);

 

 

У меня строки даны в таком варианте! однако – замечу: false равно 0 и наоборот. Так что можно записать в обеих строках false – false или 0 – 0.

Этим, как понимаете, мы запрещаем вывод предупреждения “A non-numeric value encountered in…“…

 

 

Кое-что о константах WP можно почитать здесь

 

О том, как вообще включается поддержка более новой версии php на хостинге, я писал в этой статье…

 

 

 

На этих нотах нонешней музыки, пожалуй, закончу.

 

…если что-то не ясно, задавайте вопросы в комментариях…

 


подписка feedburner Online консультация по настройкам и созданию сайтов на WordPress

 


...А мне остаётся только раскланяться... и пожелать полезной работы в сети


...город веб мастеров Михалика.ru © - запросто с WordPress - ATs media squad

 

 


...вопросы в комментариях - помогу, в чём дюжу...
mihalica.ru !


Михаил ATs - владелец блога запросто с Вордпресс - в сети нтернет давным-давно...

...веб разработчик студии ATs media: помогу в создании, раскрутке, развитии и целенаправленном сопровождении твоего ресурса в сети... - заказы, вопросы... разработка...





Нажатия на кнопочки определяют Ваше высокое гражданское сознание

Поделитесь соображениями: Ваши мысли очень важны!

Внимание! Обязательные поля помечены *

  отныне доступен плагин: ats privacy policy ©