Tôi mới bắt đầu các dự án api và tôi đang cố lấy địa chỉ ip của mình nhưng với mã của tôi, tôi liên tục gặp lỗi hiển thị không xác định.
Đầu tiên tôi đã thử cái này
<?php
echo $_SERVER['REMOTE_ADDR'];
và chạy tệp trong thiết bị đầu cuối của tôi với cái này php -f index.php
và tôi nhận được lỗi nàyPHP Notice: Undefined index: HTTP_X_FORWARDED_FOR in /home/orpheus/Practice_dev/requestMicroservice/index.php on line 4
Tôi đã tìm thấy chức năng này trên một trang web được cho là trả về địa chỉ ip của tôi
function get_ip() {
//Just get the headers if we can or else use the SERVER global.
if ( function_exists( 'apache_request_headers' ) ) {
$headers = apache_request_headers();
} else {
$headers = $_SERVER;
}
//Get the forwarded IP if it exists.
if ( array_key_exists( 'X-Forwarded-For', $headers ) && filter_var( $headers['X-Forwarded-For'], FILTER_VALIDATE_IP, FILTER_FLAG_IPV4 ) ) {
$the_ip = $headers['X-Forwarded-For'];
} elseif ( array_key_exists( 'HTTP_X_FORWARDED_FOR', $headers ) && filter_var( $headers['HTTP_X_FORWARDED_FOR'], FILTER_VALIDATE_IP, FILTER_FLAG_IPV4 ) ) {
$the_ip = $headers['HTTP_X_FORWARDED_FOR'];
} else {
$the_ip = filter_var( $_SERVER['REMOTE_ADDR'], FILTER_VALIDATE_IP, FILTER_FLAG_IPV4 );
}
return $the_ip;
}
nhưng tôi đã nhận được Chỉ mục không xác định: REMOTE_ADDR trong bảng điều khiển của mình từ chức năng đó. Tôi không chắc mình đang làm gì sai ở đây và sẽ đánh giá cao sự giúp đỡ.
Nếu bạn chạy mã này trên máy chủ web, nó sẽ hoạt động.
cảm ơn tôi đã không xem xét điều đó.