Ошибка codeigniter: «Языковой файл не содержит данных» для всех файлов в папке одновременно - PullRequest
0 голосов
/ 26 декабря 2018

Я получаю очень странные (или, возможно, нет) ошибки в файлах журнала:

ERROR - 2018-12-26 03:09:37 --> Language file contains no data: language/lang1/pages/service4_lang.php
ERROR - 2018-12-26 03:09:37 --> Language file contains no data: language/lang1/pages/service2_lang.php
ERROR - 2018-12-26 03:09:37 --> Language file contains no data: language/lang1/pages/service1_lang.php
ERROR - 2018-12-26 03:09:37 --> Language file contains no data: language/lang1/pages/products_lang.php
ERROR - 2018-12-26 03:09:37 --> Language file contains no data: language/lang1/pages/product8_lang.php
ERROR - 2018-12-26 03:09:37 --> Language file contains no data: language/lang1/pages/product9_lang.php

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

$config['language'] = 'lang1';

установлено.Тем не менее эти сообщения появляются как-то ...

Кто-нибудь знает, в чем причина этого?Как решить, отследить это?

ОБНОВЛЕНИЕ 1

Я заметил, что это происходит в ту же секунду (как вы можете видеть) и для всех файлов, которые у меня есть впапка страниц.Так что может вызвать это все сразу?Хм, может быть, это происходит из цикла ...

1 Ответ

0 голосов
/ 26 декабря 2018

О, этот особенный.Я только что обнаружил, что $ this-> lang-> load ("lang file") будет загружать файлы из языкового каталога, но ожидается, что эти файлы содержат массив $ lang какэто:

$lang['db_invalid_connection_str'] = 'Unable to determine the database settings based on the connection string you submitted.';
$lang['db_unable_to_connect'] = 'Unable to connect to your database server using the provided settings.';
$lang['db_unable_to_select'] = 'Unable to select the specified database: %s';
$lang['db_unable_to_create'] = 'Unable to create the specified database: %s';

и ничего больше!

Но что, если я решу (как и я) сохранить целые страницы в языковой папке?Тогда я смогу легко загрузить его с помощью $ this-> lang-> load ("lang file") и отобразить на странице.И только потому, что у меня нет никакой переменной $ lang на этих страницах, она будет регистрировать ошибку каждый раз, когда страница будет отображаться.

Я мог бы легко отключить это зарегистрированное сообщение, но вместо этогоЯ решил спрятать его в особых условиях, и вот мой оператор if, добавленный в класс Land.php, функция загрузки:

  if ($basepath !== $package_path && file_exists($package_path) && filesize ($package_path) > 0) {
    //do not log anything, because those files don't have $lang anyway
  } else {
    log_message('error', 'Language file contains no data: language/' . $idiom . '/' . $langfile);
  }

Таким образом, я все равно буду загружать файлы, но ошибка будет отображаться, только если файл невнутри ничего нет.

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