Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is $_SERVER['SERVER_ADDR'] always set?

Is $_SERVER['SERVER_ADDR'] always set?

Should I check with isset() or is that unnecessary?

I need to get the IP of the site so I can find out if it's 127.0.0.1/localhost

like image 731
Nick Avatar asked Aug 10 '11 22:08

Nick


2 Answers

No, in CLI it's not set. So not always.

$ php -r "echo $_SERVER['SERVER_ADDR'];"

(no output)

If you have errors logged or reported (based on your PHP.ini settings), you will get this message as well:

PHP Notice: Undefined index: SERVER_ADDR in Command line code on line 1
like image 90
hakre Avatar answered Oct 06 '22 23:10

hakre


It's not going to always be set. Consider that you can install PHP without even having a server and run it from command line. There is no guarantee with any of the $_SERVER variables, but if you try it once on your server and it works then you can bet that it will always be set on that server configuration. You just need to make a note somewhere that if you ever do a major change on your server's configuration, or switch servers you should check it again.

You can also check the value of your server variables with phpinfo()

like image 23
Paul Avatar answered Oct 06 '22 21:10

Paul