Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is $_SERVER['REMOTE_ADDR'] always isset()?

I want to store ip2logn($_SERVER['REMOTE_ADDR']) values in the db for some reason.

Practically, as I see, $_SERVER['REMOTE_ADDR'] always has a value. Could anybody confirm it is always set for any user and can't be not set by any reason?

The reason I ask it is to be sure I should choose NOT NULL instead of DEFAULT NULL for the column in MySQL Table.

So, I can store ipaddressvarchar(15) NOT NULL (yes, NOT null) or ip2longaddress int(11) NOT NULL, and the second option is, as I understand, the most preferable.

Thank you.

like image 893
Haradzieniec Avatar asked Nov 18 '11 19:11

Haradzieniec


1 Answers

It will only be set if you're running the script through a webserver. If you're running PHP in CLI (command line) mode, REMOTE_ADDR will not be set, as there is no remote address for a command line script.

like image 178
Marc B Avatar answered Oct 19 '22 15:10

Marc B