2016-01-11 59 views
1

我使用php函數filter_var($ ip,FILTER_VALIDATE_IP)來驗證IP。它的工作正常,當我通過http url運行它。

,但是當我通過PHP控制檯運行它,它給我的錯誤

Bus error 

的代碼如下,

$ip = $argv[1]; 

if (!filter_var($ip, FILTER_VALIDATE_IP)===false) 

{ 

} 

else 

{ 
echo 'ip address is not valid'; 
exit; 

} 

echo $ip; 

exit; 
+0

第一的var_dump $ argv的 –

+0

做的var_dump後,我得到**字符串(9) 「127.0.0.1」 ** – khalrd

+0

我發現這一點:_italic_總線錯誤是一個錯誤由硬件提出,通知操作系統(OS)進程正在嘗試訪問CPU無法物理地址的內存_italic_ BTW將第一個條件更改爲=== true,而不是!=== false –

回答

0

我從5.1.6升級PHP版本5.6.3,它的工作。

0

我認爲這是有用的

$ip = $_SERVER['SERVER_ADDR']; 
if(!filter_var($ip, FILTER_VALIDATE_IP)===false) 
{ 

} 
else 
{ 
    echo 'ip address is not valid'; 
    exit; 
} 
echo $ip; 
exit;