echo
"当前脚本服务器的主机名:".gethostbyaddr($_SERVER['REMOTE_ADDR'])."<br
/><hr
/>"
echo
"获得当前运行PHP脚本(页面)所在的服务器的
IP
地址:".$_SERVER['SERVER_ADDR']."<br
/><hr
/>"
echo
"获得当前运行PHP脚本(页面)所在的服务器的
主机名:".$_SERVER['SERVER_NAME']
echo
'<hr>'
echo
'客户端ip'.
$_SERVER['REMOTE_ADDR']
echo
'<br>'
echo
'客户端ip'.getenv('REMOTE_ADDR')
echo
"<br>"
echo
'服务器主机ip'.gethostbyname("www.qq.com")
?>
运行出来:
当前脚本服务器的主机名:XYL-PC
获得当前运行PHP脚本(页面)所在的服务器的
IP
地址:127.0.0.1
获得当前运行PHP脚本(页面)所在的服务器的
主机名:localhost
客户端ip127.0.0.1
客户端ip127.0.0.1
服务器主机ip61.135.169.105
1.确认执行该PHP脚本的系统具备修改服务器IP/子网掩码/网关的权限.2.确认你的PHP运行执行shell_exec的函数,这个函数在安全模式下是被屏蔽的.
3.确认你在shell_exec里面执行的系统命令行是正确的.
简单的例子:
$
vi
test.php
#!/usr/bin/php
<?php
$rsl
=
shell_exec("fconfig
eth0
192.168.1.2
netmask
255.255.255.0")
//改ip和子网掩码的.
$rsl2
=
shell_exec("route
add
default
gw
192.168.1.1")
//设置网关
echo
$rsl."\n".$rsl2//看看返回的结果.
?>
$
chmod
755
test.php
--
给脚本增加执行的权限
$
./test.php
参考其他函数:
exec()
system()
等等.
windows下怎么做?
我又没钱买windows我怎么知道!
<?phpfunction getIp()
{
$IPaddress=''
if (isset($_SERVER)){
if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])){
$IPaddress = $_SERVER["HTTP_X_FORWARDED_FOR"]
} else if (isset($_SERVER["HTTP_CLIENT_IP"])) {
$IPaddress = $_SERVER["HTTP_CLIENT_IP"]
} else {
$IPaddress = $_SERVER["REMOTE_ADDR"]
}
} else {
if (getenv("HTTP_X_FORWARDED_FOR")){
$IPaddress = getenv("HTTP_X_FORWARDED_FOR")
} else if (getenv("HTTP_CLIENT_IP")) {
$IPaddress = getenv("HTTP_CLIENT_IP")
} else {
$IPaddress = getenv("REMOTE_ADDR")
}
}
return $IPaddress
}
echo getIp()//就可以输出用户的IP地址。
?>
获取服务器端ip地址
<?phpfunction serverIp(){
if(isset($_SERVER)){
if($_SERVER['SERVER_ADDR']){
$server_ip=$_SERVER['SERVER_ADDR']
}else{
$server_ip=$_SERVER['LOCAL_ADDR']
}
}else{
$server_ip = getenv('SERVER_ADDR')
}
return $server_ip
}
echo serverIp()
?>
此方法在本地不可用。需要上传至服务器
如果在本地使用此方法 打印出来的是127.0.0.1
希望对你有帮助
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)