如何在PHP中更改IP地址

时间:2011-07-06 10:13:56

标签: php linux

我正在使用PHP开发一个系统,我可以在Web表单中更改IP地址和子网掩码。

以下是我目前的尝试:

<pre><code><?php

echo "Old IP: ".$old_ip;
echo "New IP: ".$stat_ip;

system("sed -i 's|".$old_ip."|".$stat_ip."|g' /etc/.../.../ifcfg-eth0");

?>

我收到错误unterminated 's' command

在这种情况下sed的正确语法是什么?

2 个答案:

答案 0 :(得分:0)

你这样做是怎么回事,当你看到你试图执行的命令时,可能更容易发现“错误”:

$command = "sed -i 's|".$old_ip."|".$stat_ip."|g' /etc/.../.../ifcfg-eth0";

echo "Executing command: $command";

system($command);

这样,您可以更轻松地调试命令。

错误消息表明您的命令有些格式错误。 Here's a similar problem

答案 1 :(得分:-1)

  

用法:sed [OPTION] ...   {脚本只-IF-没有其他脚本}   [输入文件] ...

     

-n, - quiet, - silent                    抑制模式空间的自动打印-e脚本,   --expression =脚本                    将脚本添加到要执行的命令-f   script-file, - file = script-file                    将script-file的内容添加到命令中   执行--follow-symlinks                    在就地处理时遵循符号链接-i [SUFFIX],   --in就地[= SUFFIX]                    在适当位置编辑文件(如果提供扩展名,则进行备份)
  -l N, - line-length = N.                    为`l'命令指定所需的换行长度
  --posix                    禁用所有GNU扩展。 -r, - regexp-extended                    在脚本中使用扩展的正则表达式。 -s,    - 分离                    将文件视为单独的而不是单个文件   连续                    长流。 -u, - unbuffered                    从输入文件加载最少量的数据并刷新                    输出缓冲更频繁         --help显示此帮助并退出         --version输出版本信息并退出

     

如果没有-e, - expression,-f或--file   给出选项,然后是第一个   非选项参数被视为   sed脚本来解释。所有   剩下的参数是输入的名称   文件;如果没有输入文件   指定,那么标准输入是   读取。

     

电子邮件错误报告:bonzini@gnu.org   。请务必添加sed'' somewhere in the主题:''字段。