获取本地PC IP(用于cron脚本)


Getting local PC IP ( for use in cron script )

我创建了一个脚本来搜索、复制、压缩文件,并将文件从Cliet/Local PC发送到Master PC。

需要在主电脑上识别文件。格式为

`UUID.IP.crc.gz`

所以运行脚本的电脑(本地),我需要那台电脑的IP地址。

我尝试过使用$_SERVER["REMOTE_ADDR"]$_SERVER['SERVER_ADDR'],但它们都没有定义。

Notice: Undefined index: SERVER_ADDR in C:'wamp'www'postEnginInstruction'properties.php on line 9"REMOTE_ADDR" 也是如此

我做错了什么?

如果将php与CRON一起使用,则既没有HTTP请求,也没有服务器,只将其用作脚本语言。因此,您无法访问$_SERVER值。

然后,您必须将ipconfig(或linux上的ifconfig)这样的命令与PHP中的exec命令一起使用。

编辑:在这里也可以找到更简单的解决方案:我如何找到我的服务器';PHP(CLI)中的s IP地址

要"创建"HTTP请求,可以做的一件事是安排一个curl命令来激活您的PHP脚本:

curl http://your.server/path/to/your/scheduledScript.php

然而,有一个缺点:您的调度脚本也可以从外部调用。这是你应该处理的事情。(通过.htaccess允许/拒绝指令,或从CRON生成和提供一次性令牌的某种形式)。

(最后一点:请确保使用服务器的DNS名称,如果使用localhost,则地址可能为127.0.01,这不是很有帮助);)