$ _SERVER ['REMOTE_ADDR']总是isset()吗?

Har*_*iec 12 php mysql ip storage

我想ip2logn($_SERVER['REMOTE_ADDR'])出于某种原因在db中存储值.

实际上,正如我所见,$_SERVER['REMOTE_ADDR']总是有价值.任何人都可以确认它总是为任何用户设置,不能因任何原因设置吗?

我问它的原因是要确保我应该选择NOT NULL而不是DEFAULT NULLMySQL表中的列.

所以,我可以存储ipaddress varchar(15) NOT NULL (yes, NOT null) or ip2longaddressint(11)NOT NULL,第二个选项,据我所知,最优选.

谢谢.

Mar*_*c B 16

只有在通过Web服务器运行脚本时才会设置它.如果您在CLI(命令行)模式下运行PHP,则不会设置REMOTE_ADDR,因为命令行脚本没有远程地址.