15

我遵循官方codeigniter網站上提供的用於運行CLI(命令行界面)工具的確切指南。 http://ellislab.com/codeigniter/user-guide/general/cli.htmlPHP使用CodeIgniter 2.xx運行命令行時遇到錯誤

我控制器...

<?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)。

回答

30

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

只要與這 - $>服務器( 'REMOTE_ADDR')在其生成通知的線路替換$ _SERVER [ 'REMOTE_ADDR']。 - 修改/system/core/Input.php第351行

+2

這似乎是解決方法 - 不知道爲什麼EllisLabs不會自己對內核進行此更改,因爲我從不正常接觸核心目錄。 – Zabs