php ip地址重定向

标签 php linux networking redirect

我有一个 php 脚本,它可以更改/etc/network/interfaces 文件中的 ip 地址。

编辑文件后,我正在使用 exec("sudo ifdown eth0) exec(sudo ifup eth0) 刷新配置。 它有效,但需要将近 40 秒。

我想将用户重定向到新的 ip 地址,方法是:

header("Location: http://$ip/?page=networkSettings");

只有在我注释掉 exec 调用时,重定向本身才有效。 (当然我得到“无法连接错误”)

否则网络浏览器显示: 等待 192.168.0.50

我使用了php的sleep函数但是没有效果。

有人知道如何解决这个问题吗?

最佳答案

您需要使用其他一些方法来发出重定向。由于服务器的 IP 地址在脚本运行时发生变化,这会导致连接中断——客户端永远不会收到 Location header 。

我见过许多嵌入式设备使用的一种方法是延迟重定向。让您的页面显示一个包含 meta refresh 的结果页面到新地址,然后更改机器的 IP。设置刷新超时,以便在超时到期并且客户端重定向到新 IP 时,机器应该有其新 IP 并正常工作。

关于php ip地址重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24268186/

相关文章:

linux - 在嵌入式板上使用 NFS 文件系统

php - Laravel 5 返回带时区的日期时间

linux - Ubuntu:如何在 shell 中输入目录

c++ - 通过套接字发送数据不起作用

linux - CentOS 6.3 上 SFTP 目录中的 .bashrc、.bash_profile 和 .bash_logout 文件

linux - 删除bash脚本linux中不同列中相同值的重复

java - `instanceof` 检查什么来确定对象类型?

javascript - 如何选择 while 循环中的 href 变量?

PHPMailer 将日历事件发送到 outlook 邮件

javascript - AJAX 发布 fatal error 列不能为空