Проблемы с Codeigniter и Cron Bootstrapper - PullRequest
1 голос
/ 01 июня 2011

Я пытаюсь создать задание cron, используя мои текущие настройки CI и использование контроллеров и моделей.Я использую Cron Bootstrapper (http://codeigniter.com/wiki/Cron_job_bootstrapper/), потому что он дает мне простой доступ для тестирования процесса локально по требованию или быть доступным как традиционный процесс cron на сервере. Однако я могу связаться с контроллером с помощью файла загрузчика и командной строки, однако, Я получаю много разных сообщений об ошибках или предупреждений в зависимости от того, как я настроил свой контроллер.

Если я оставлю контроллер таким, каким он должен быть с parent::Controller();, я получу следующее сообщение:

Невозможно подключиться к серверу базы данных с использованием предоставленных настроек.

Ошибка исходит из метода DB_driver.php initialize().

Если удалить вызовна parent::Controller() с контроллера, тогда я получаю следующее предупреждение:

    <p>Severity: Warning</p>
    <p>Message:  date(): It is not safe to rely on the system's timezone settings. You
       are *required* to use the date.timezone setting or the
       date_default_timezone_set() function. In case you used any of those
       methods and you are still getting this warning, you most likely misspelled
       the timezone identifier. We selected 'America/New_York' for
       'EDT/-4.0/DST' instead</p>
    <p>Filename: htdocs/cron.php</p>
    <p>Line Number: 122</p>`

Удаляя parent::Controller();, я не могу получить доступ ни к каким моделям через $this->load->model('model');, и я получаю следующее сообщение:

Неустранимая ошибка: вызов функции-члена модели () для необъекта в /Applications/MAMP/htdocs/my_site/system/application/controllers/cron.php в строке 9

Любая информация, которая позволит мне использовать файл начальной загрузки с CI, будет очень полезна.

1 Ответ

2 голосов
/ 05 июня 2011
  1. Установите $ db ['default'] ['db_debug'] = TRUE; в файле конфигурации базы данных, чтобы включить более подробные отчеты об ошибках.

  2. Вам необходимо учесть предупреждение о часовом поясе и установить значение по умолчанию в файле php.ini .Это новое требование с PHP 5.3.Если вы работаете на общем сервере и не имеете доступа к php.ini, вы можете либо запросить, чтобы ваш веб-хост установил значение по умолчанию, либо вы можете попробовать установить его вручную, используя ini_set () в верхней части вашего файла начальной загрузки.

  3. Проверьте и проверьте, загружается ли файл конфигурации базы данных, и, если это так, дважды проверьте параметры подключения к базе данных .Если настройки верны, возможно, брандмауэр блокирует вас, или пользователь базы данных, к которому вы подключаетесь, может не иметь доступа к базе данных, которую вы пытаетесь использовать.

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