$ _SERVER ['REMOTE_ADDR'] всегда isset()?

По какой-то причине я хочу сохранить значения ip2logn($_SERVER['REMOTE_ADDR']) в db.

Практически, как я вижу, $_SERVER['REMOTE_ADDR'] всегда имеет значение. Может ли кто-нибудь подтвердить, что он всегда установлен для любого пользователя и не может быть установлен по какой-либо причине?

Я прошу, чтобы я должен был выбрать NOT NULL вместо DEFAULT NULL для столбца в таблице MySQL.

Итак, я могу хранить ipaddress varchar(15) NOT NULL (yes, NOT null) or ip2longaddress int (11) NOT NULL, а второй вариант, насколько я понимаю, наиболее предпочтительный.

Спасибо.

Ответ 1

Он будет установлен только в том случае, если вы используете script через веб-сервер. Если вы используете PHP в режиме командной строки (CLI), REMOTE_ADDR не будет установлен, так как нет удаленного адреса для командной строки script.

Ответ 2

$_ SERVER ['REMOTE_ADDR'] всегда устанавливается, даже если вы работаете с localhost и не можете быть удалены, кроме того, что вы программно удалили его И если вы сохранили его в INT, не было бы точек, поэтому вы должны сохранить их как varchar

Ответ 3

Может ли кто-нибудь подтвердить, что он всегда установлен для любого пользователя

да. Я могу.

Ответ 4

$_ СЕРВЕРЫ ВСЕГДА ВСЕ. Ну, если у вас нет какой-то нечетной настройки php.