【问题标题】:REMOTE ADDR Issue with Cron JobCron 作业的远程地址问题
【发布时间】:2011-12-21 09:51:43
【问题描述】:

我需要获取访问者的 IP,但是当 cron 运行时它发现 REMOTE ADDR 是一个未定义的索引。事实上,当文件与 cron 一起运行时,是没有远程地址的。

如何避免这个问题?

PHP中有没有办法说“如果REMOTE ADDR存在则考虑它,如果不存在(因为它是从cron运行)然后绕过它”??

$ip=$_SERVER['REMOTE_ADDR'];


$allowed_ips = array("82.61.144.100", "82.64.144.100");

if (!in_array($ip, $allowed_ips)) {
header("Location: http://pitchmystuff.co.uk/coming_soon/");

}

【问题讨论】:

    标签: php


    【解决方案1】:

    更好的方法是使用

    if ((php_sapi_name() == 'cli')) {
      ... running as commandline/cron script ...
    }
    

    改为。

    【讨论】:

      【解决方案2】:

      试试:

      if (isset($_SERVER['REMOTE_ADDR']) && !empty($_SERVER['REMOTE_ADDR'])) {
        $ip = $_SERVER['REMOTE_ADDR'];
      }
      

      您的问题可能比我看到的要复杂。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-09-14
        • 2012-02-26
        • 2012-08-01
        • 2011-08-18
        • 2023-03-08
        • 2015-08-19
        • 2011-06-24
        • 2021-08-12
        相关资源
        最近更新 更多