15

Ich habe die genaue Anleitung, die auf der offiziellen coderigniter Website zur Ausführung der CLI (Befehlszeilenschnittstelle) Tool zur Verfügung gestellt wird, gefolgt. http://ellislab.com/codeigniter/user-guide/general/cli.htmlPHP Fehler beim Ausführen der Befehlszeile mit CodeIgniter 2.xx

Mein Controller ist ...

<?php 
class Tools extends CI_Controller { 

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

} ?> 

Wenn ich den folgenden Befehl ausführen, von meinem CMD ich die folgende Ausgabe (und Fehler) erhalten in der Kommandozeilenfenster:

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! 

Can jemand erklären, warum ich dieses Problem bekomme? Ich befolge das Tutorial auch nach dem offiziellen Codeigniter CLI Tutorial - irgendwelche Ideen? Ich verwende CodeIgniter 2.1.4 mit XAMPP (Windows).

Antwort

30

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

Ersetzen Sie einfach an der Linie $ _SERVER [ 'REMOTE_ADDR'] mit $ this-> Server ('remote_addr'), der die Mitteilung erzeugt. - modify /system/core/Input.php Zeile 351

+2

Dies scheint die Problemumgehung zu sein - nicht sicher, warum EllisLabs diese Änderung nicht zum Kern selbst machen, da ich nie das Kernverzeichnis normalerweise berühre. – Zabs

Verwandte Themen