我已按照官方 codeigniter 网站上提供的确切指南运行 CLI(命令行界面)工具。 https://www.codeigniter.com/userguide2/general/cli.html
我的 Controller 是...
<?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 教程学习教程 - 有什么想法吗?我在 XAMPP (Windows) 中使用 CodeIgniter 2.1.4。
最佳答案
https://github.com/EllisLab/CodeIgniter/issues/1890
只需在生成通知的行中将 $_SERVER['REMOTE_ADDR'] 替换为 $this->server('remote_addr') 即可。 - 修改/system/core/Input.php 351行
关于使用 CodeIgniter 2.xx 运行命令行时遇到 PHP 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18082618/