Как исправить предупреждение Warning: file_get_contents ?

Аватар пользователя shlop

Здравствуйте, подскажите пожалуйста, у меня вот периодически в журнале появляются такие вот предупреждения:
Warning: file_get_contents(sites/all/themes/site_theme/https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js) [function.file-get-contents]: failed to open stream: No such file or directory в функции _locale_parse_js_file() (строка 1527 в файле /var/www/u0421090/public_html/***/includes/locale.inc).
Появляются они в разных местах сайта. Я так понимаю, что это не может подключиться js файл, но просто путь странный в предупреждении указан: sites/all/themes/site_theme/https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js то есть вот папки, а затем ссылка с https. Подскажите пожалуйста, как эту проблему исправить ? Заранее благодарю.

Тип материала:
Версия Drupal:
0 Thanks

Лучший ответ

Аватар пользователя bsyomov
bsyomov 8 месяцев назад

Довольно странное решение:
Drupal и так подключает jQuery.
Если нужен более свежий, то есть jQuery update(https://www.drupal.org/project/jquery_update).
Он же позволяет, насколько я помню, подключать его из внешних CDN.

Комментарии

Аватар пользователя Semantics
Semantics 8 месяцев назад

Подключение внешних скриптов через file_get_contents() - это хороший повод провести ревизионный осмотр зубов у разработчика вашего сайта.
Нужно избавляться от этой конструкции, и ошибки не будет, и сайт быстрее будет работать

Правильный способ тут http://xandeadx.ru/blog/drupal/398

Аватар пользователя bsyomov
bsyomov 8 месяцев назад

Тут не подключаются внешние скрипты через file_get_contents().
Ошибка-то тут: https://api.drupal.org/api/drupal/includes%21locale.inc/function/_locale...

А вот как и где на, самом деле, подключён jQuery c гуловского CDN, и почему он обрабатывается этой функцией, надо посмотреть...

Аватар пользователя Semantics
Semantics 8 месяцев назад

Да, был невнимателен.

Тогда исходя из того, что пути ведут в https://api.drupal.org/api/drupal/modules%21locale%21locale.module/funct..., мы имеем дело со скорее всего, всё равно неверным подключением JS.
Возможно, в drupal_add_js() не указали external и оно его локально взять пытается.

Аватар пользователя shlop
shlop 8 месяцев назад

Понял, спасибо, буду смотреть

Аватар пользователя shlop
shlop 8 месяцев назад

Ну здесь вот в этом файле locale.inc, в строке 1527 (на эту строку указывает предупреждение)
такая строка

<?php
  
// Load the JavaScript file.
  
$file file_get_contents($filepath);
?>
Аватар пользователя shlop
shlop 8 месяцев назад

Понял, спасибо

Аватар пользователя shlop
shlop 8 месяцев назад

Нашел) в файле .info темы, была такая строка

<?php
scripts
[] = "https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"
?>
Аватар пользователя bsyomov
bsyomov 8 месяцев назад

Довольно странное решение:
Drupal и так подключает jQuery.
Если нужен более свежий, то есть jQuery update(https://www.drupal.org/project/jquery_update).
Он же позволяет, насколько я помню, подключать его из внешних CDN.

Аватар пользователя Semantics
Semantics 8 месяцев назад

скорректировал выбор решения