php - $_SERVER['SERVER_ADDR'] 总是给出服务器的主 IP,而不是 php 中实际运行的服务器 IP
问题描述
在我的服务器上,有 10 个 IP 可用。每次运行都会自动改变这十个IP中的运行IP。下面的代码总是返回我的服务器的主 IP,而不是服务器的实际运行 IP。
<?PHP
echo $_SERVER['SERVER_ADDR'];
?>
如何获取我的服务器的实际运行 IP?
解决方案
尝试这个,
function getIPAddress() {
if(!empty($_SERVER['HTTP_CLIENT_IP'])) {
$ip = $_SERVER['HTTP_CLIENT_IP'];
}
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
}
else{
$ip = $_SERVER['REMOTE_ADDR'];
}
return $ip;
}
推荐阅读
- node.js - 项目部署到真实主机后,电子邮件停止发送
- amazon-web-services - 在 AWS 建议上部署 Node Express
- c# - 填充 Dts 变量时出现问题
- android - 如何在我的数据类模型中将字符串从 Retrofit 转换为自定义对象?
- spring-boot - 根据 Spring Boot 上的属性实例化服务
- c# - 使用 Table-Per-Concrete-Type 继承果园模型?
- python - 从文件索引值
- r - 识别一对数的最高和最低索引
- graphql - express graphql 总是为解析器抛出的任何错误发送 500 Internal server error
- rust - 如何在 Rust 中跨多个结构创建一个连续内存池?