我需要能够使用 PHP 更改服务器的 IP 地址。我正在尝试使用ifconfig eth0 down
as the www-data
用户以确保其能够正常工作。到目前为止,我已经解决了 /var/run/network/ifstate 文件上的权限问题,但现在我收到一条权限被拒绝的行,内容如下SIOCSIFFLAGS: Permission denied
。有没有解决的办法?如果没有,如何更改网页中服务器的IP地址?
php代码:
//if the ip has changed, bring down the network interface and bring it up with the new IP
if($ipConf != $ip) {
$ifdownSuccess = exec("ifconfig eth0 down", $downOutput, $downRetvar);
$ifupSuccess = exec("ifconfig eth0 up ".$ip, $upOutput, $upRetvar);
//TODO: check for ifupSucess and revert to old ip if the command failed
var_dump($downOutput);
var_dump($downRetvar);
var_dump($ifdownSuccess);
var_dump($upOutput);
var_dump($upRetvar);
var_dump($ifupSuccess);
}
returns:
array(0) { } int(127) string(0) "" array(0) { } int(127) string(0) ""
有没有办法解决此权限问题或我可以使用其他工具来执行此操作?
我遇到了类似的问题,正在考虑以下解决方案:
1) php 页面读取 IP、网络掩码和网关,检查格式是否正确以及 IP 是否可行,并将其写入文本文件
2)用任何语言编写的cronjob,查找该文件,如果存在,则读取内容,解析它并进行更改
这应该足够安全。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)