【问题标题】:Cronjob not accepting port number in php postCronjob 不接受 php post 中的端口号
【发布时间】:2012-08-31 23:42:16
【问题描述】:

使用 php 表单将变量发布到网站

$this->redirect("http://Web_Address/httpds?switch=0");

这在普通的网络浏览器和 Cronjob 中都可以正常工作。

目标网站端口号从80变为8081时开始出现问题。

$this->redirect("http://Web_Address:8081/httpds?switch=0");

这在网络浏览器中仍然可以正常工作,但在 Cronjob 中不再有效。

任何想法如何解决这个问题???

谢谢

【问题讨论】:

  • cron 通过 cli 调用 php 脚本,没有浏览器,没有 http 标头,那么重定向如何工作?
  • 什么是“重定向”代码。正如 Dagon 所说,不清楚如何重定向 cron 作业 - cron 作业有什么作用?
  • cron 读取写入重定向代码的 php 文件(Yii 框架),即 - $this->redirect("Web_Address:8081/httpds?switch=0"); 但问题是在添加端口号后它没有重定向cronjob 但是如果我们去浏览器并运行 php 文件它会重定向

标签: php redirect post cron port


【解决方案1】:

我会在 cronjob PHP 脚本中使用 curl,而不是重定向,如下所示:

<?php
 $ch = curl_init();

 curl_setopt($ch, CURLOPT_URL, "http://Web_Address:8081/httpds?switch=0");
 curl_setopt($ch, CURLOPT_HEADER, 0);

 curl_exec($ch);

 curl_close($ch);
 ?>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-03
    • 1970-01-01
    • 2011-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多