Ошибка PHP при запуске командной строки с использованием CodeIgniter 2.xx

Я выполнил точное руководство, которое представлено на официальном веб-сайте codeigniter для запуска интерфейса командной строки (CLI). http://ellislab.com/codeigniter/user-guide/general/cli.html

Мой контроллер...

<?php
class Tools extends CI_Controller {

    public function message($to = 'World')
    {
    echo "Hello {$to}!".PHP_EOL;
    }

} ?>

Когда я запускаю следующую команду из моего CMD, я получаю следующий вывод (и ошибку) в окне командной строки:

php index.php tools message

<h4>A PHP Error was encountered.</h4>
<p>Severity: Notice</p>
<p>Message: Undefined index: REMOTE_ADDR</p>
<p>Filename: core/Input.php</p>
<p>Line Number: 351</p>
.....
<h4>A PHP Error was encountered</h4>
<p>Message: Cannot modify header information - headers already sent by (output at C:{systempath}\system\2.1.4\core\Exceptions.php:185)</p>
<p>Filename: libraries/Session.php</p>
<p>Line Number: 675</p>

</div>Hello World!

Может кто-нибудь объяснить, почему я получаю эту проблему? Я следую учебнику в соответствии с официальным руководством Codeigniter CLI - любые идеи? Я использую CodeIgniter 2.1.4 с XAMPP (Windows).

Ответы

Ответ 1

https://github.com/EllisLab/CodeIgniter/issues/1890

Просто замените $_SERVER ['REMOTE_ADDR'] на $this- > server ('remote_addr') в строке, которая генерирует уведомление. - изменить /system/core/Input.php строку 351