【问题标题】:Why $_SERVER REMOTE_ADDR returns blank?为什么 $_SERVER REMOTE_ADDR 返回空白?
【发布时间】:2014-07-20 08:38:29
【问题描述】:

我有一个 php 脚本 log.php,它会将客户端 $_SERVER['REMOTE_ADDR'] 值记录到一个文本文件中。

我使用 cron-job 来触发这个脚本,但是所有记录的 remote_addr 值都是空白的,而不是 127.0.0.1。

为什么返回空白?

【问题讨论】:

  • 你是如何触发脚本的?我的意思是,在命令行上调用 wget、curl 还是只调用 php?
  • $_SERVER 不是一个函数,它是一个数组。数组元素使用[] 访问,而不是()
  • 如果您从 CLI 运行 PHP,则没有 REMOTE_ADDR,因为没有网络客户端。
  • 这是我在 cron-job 上的命令,/usr/bin/php -q /home/u011395/dev_folder/log.php
  • Barmar:哦,抱歉,打错了。

标签: php cron localhost


【解决方案1】:

喜欢先生。 Barmar 在 cmets 中写道,$_SERVER 变量(以及其他一些 PHP 功能)仅在通过应用程序服务器(例如 Apache)执行脚本时才起作用。如果您通过终端/控制台/其他方式执行它,实际上没有“客户端”,因此也没有“客户端”链接信息。

【讨论】:

    猜你喜欢
    • 2013-10-19
    • 1970-01-01
    • 1970-01-01
    • 2016-05-03
    • 1970-01-01
    • 2015-06-19
    • 1970-01-01
    • 2017-01-31
    • 2011-06-25
    相关资源
    最近更新 更多