CodeIgniter Undefined index: REMOTE_ADDR

在 command line 執行 cli 程式的時候會遇到一個問題

<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>

core/Input.php 內有一行程式長這樣

$this->ip_address = $_SERVER[‘REMOTE_ADDR’];

因為 cli 並不會有 REMOTE_ADDR 這種東西
(本地執行哪來的 REMOTE_ADDR)
所以程式就爆炸了

找了一些資料

可以把上面那行換成

if(isset($_SERVER[‘REMOTE_ADDR’]))
$this->ip_address = $_SERVER[‘REMOTE_ADDR’];
else
$this->ip_address = ‘0.0.0.0’;

抓不到 $_SERVER[‘REMOTE_ADDR’] 的時候
就把 ip_address 改成 0.0.0.0 即可

因為很常查這個 所以乾脆就自己寫一篇

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料