CodeIgniter: Странное эхо $config возвращается, когда я загружаю библиотеку электронной почты

Информация о версии: CI версия 1.7.2 - PHP 5.3.1 - Apache2 - Mac OSX 10.6.3

По какой-то причине, когда я загружаю библиотеку электронной почты CI либо в свой контроллер, либо в autoload.php, она автоматически и немедленно отображает информацию о конфигурации следующим образом:

$config['protocol'] = 'sendmail';
$config['mailpath'] = '/usr/sbin/sendmail';
$config['charset'] = 'iso-8859-1';
$config['wordwrap'] = TRUE

Если я автоматически загружаю библиотеку электронной почты в autoload.php, она отображается перед чем-либо еще в моем источнике/странице. Если я вызову его явно в своем контроллере, он отобразится именно в этот момент.

Я в тупике, никогда раньше такого не видел. Любые идеи о том, как подавить/устранить?

Загрузка библиотеки в автозагрузку: $autoload['libraries'] = array('database','encrypt','email');

Загрузка библиотеки в контроллер: $this->load->library('email');


person k00k    schedule 27.04.2010    source источник
comment
Вы должны опубликовать код, который вы используете для загрузки библиотеки.   -  person Corey Ballou    schedule 28.04.2010
comment
Добавлен синтаксис загрузки моей библиотеки в исходное сообщение. Довольно простой.   -  person k00k    schedule 28.04.2010
comment
Это может показаться странным, но попробуйте установить заголовок () после запуска кода автозагрузки, вывод уже запущен. Ошибка, которая сгенерирована, может дать вам строку / файл ошибочных операторов эха. Возможно, кто-то добавил строку отладки, которая что-то сломала...   -  person gnarf    schedule 28.04.2010


Ответы (1)


Кажется довольно странным. Я успешно использую эту библиотеку с той же версией CI.

Что также странно, так это то, что печатаемые значения конфигурации не являются значениями по умолчанию CI!

Где вы устанавливаете значения конфигурации?

Вы точно уверены, что не устанавливаете конфиг где-то еще? например в файле конфигурации в папке конфигурации и случайно распечатать их здесь? Это объясняет, почему значения не являются значениями по умолчанию, и они появляются только при загрузке класса, поскольку он сначала проверяет файл конфигурации.

person rbaker86    schedule 27.04.2010
comment
Спасибо, это указало мне на мою папку конфигурации, в которой был email.php с этими значениями. Думаю, что-то из далекого прошлого. Я удалил содержимое этого файла, и проблема исчезла. Однако я считаю, что этот файл был реализован правильно. - person k00k; 28.04.2010
comment
Возможно, email.php не хватало <?php в начале? - person gnarf; 28.04.2010
comment
@gnarf - Бинго! Вот оно. Ах, радость нескольких разработчиков в моем коде. Я принимаю ответ rbaker86, поскольку он поставил нас на правильный путь. добавлен ‹?php if ( !defined('BASEPATH')) exit('Прямой доступ к сценарию не разрешен'); наверху и все хорошо. Спасибо! - person k00k; 28.04.2010