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
希望对你有帮助
客户端的ip变量:$_SERVER['REMOTE_ADDR'] :客户端IP,也有可能是代理IP
$_SERVER['HTTP_CLIENT_IP']:代理端的IP,可能存在,也可能伪造
$_SERVER['HTTP_X_FORWARD_FOR'] :用户在哪个ip上使用的id,可能存在,也可能伪造
服务端的ip变量:
$_SERVER['SERVER_NAME'] :需要使用函数gethostname()来获得,这个无论是服务器端还是客户端都能正常显示。
$_SERVER['SERVER_ADDR']:服务器端的ip地址,在服务器端测试ip地址,在客户端测试正常
getnev 获得系统的环境变量:
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)