+ -
当前位置:首页 → 问答吧 → 如何用PHP脚本修改系统IP?

如何用PHP脚本修改系统IP?

时间:2011-10-25

来源:互联网

linux系统。
关键在于怎么解决权限问题。请各位大侠帮忙。

以下是我写的一个程序。该程序在root命令行里通过:php ip.php 可以成功修改IP。但是在web界面上无法修改。因为这个没有解决权限问题。求更好的方法。

PHP code

IP.php
<?php
//$rsl = shell_exec("ifconfig eth0 192.168.1.2 netmask 255.255.255.0"); //改ip和子网掩码的.
$file="/etc/sysconfig/network-scripts/ifcfg-eth0";
$tstr=file_get_contents($file);
//$content=str_replace("dhcp","static",$tstr);



//fwrite($fp,$content);
//fclose($fp);

$IP="192.168.1.192";//用户输入
if(!preg_match_all('/IPADDR=(\d{1,3}\.){3}(\d){1,3}/',$tstr,$match)){
    //$fp=fopen($file,'w');
    $fp=fopen($file,"r+");
    fseek($fp,0,2);
    $content1="IPADDR=".$IP;
    fwrite($fp,$content1);
    fclose($fp);
}else{
    $fp=fopen($file,"r");
    $content1=fread($fp,filesize($file)-strlen($match[0][0])-1);
    fclose($fp);
    $fp=fopen($file,"w");
    fseek($fp,-sizeof($match[0][0]),2);
    $content2=$content1."\n".preg_replace('/(\d{1,3}\.){3}(\d){1,3}/',$IP,$match[0][0]);
    //$fp=fopen($file,'w');
    fwrite($fp,$content2);
    fclose($fp);
};[code=PHP]

 echo "ok";

//fopen(" /etc/sysconfig/network-scripts/ifcfg-eth0","r+");
//echo $rsl."\n";//看看返回的结果.
?>[/code]

作者: cuishaoyuan   发布时间: 2011-10-25

写成shell 然后php再调用这个shell.设置好权限就行了

作者: PhpNewnew   发布时间: 2011-10-25

在web界面上无法修改是 权限的原因。
像newnew说的
写成shell 然后php再调用这个shell.

作者: ohmygirl   发布时间: 2011-10-25

相关阅读 更多