【问题标题】:How to run a php url with parameters in cron tab [duplicate]如何在cron选项卡中运行带有参数的php url [重复]
【发布时间】:2012-10-15 19:29:54
【问题描述】:

可能重复:
How to run a php script in cron

我有一个设置为在 cron 中运行的 php 脚本。我想通过传递一个参数来运行 url。我试图将参数作为查询字符串传递并放入 crontab 它不起作用。如何使用 cron 运行带参数的 url?

php /var/www/prod/Reports/report.php?email=sample@sample.com

【问题讨论】:

  • 你可以试试这个* * * * * curl "http://your_url/your_scripts?your_params",但是,这并不理想
  • 谁能说出为什么这个问题的评分下降了 2。这不是一个有效的问题吗?
  • @user1259132:您没有共享任何代码,因此不清楚您在做什么。您没有分享任何错误消息,因此不清楚问题是什么。行不通不是问题。您的问题中明确的部分,“如何使用 cron 运行带有参数的 url?” 之前已被问及并回答过。请在提出问题之前使用搜索,否则其他人可能会认为您在自己澄清问题方面做得太少并且对您投反对票。将鼠标悬停在否决按钮上时,请查看工具提示。
  • 我搜索了很多.. 找不到任何与 cron 相关的参数传递。
  • 通过cron模拟http请求可以通过在cron php脚本中运行的curl调用所需的web请求来实现

标签: php linux crontab


【解决方案1】:

向我们展示您的 crontab(或至少包含 PHP 脚本的行)。如果你这样做:

php script.php?param1=123

以上方法行不通。改为这样:

wget http://localhost/script.php?param1=123&param2=345 -o /dev/null

那么它应该可以工作。如果没有,请提供更多详细信息。

请注意,该建议只是一个示例。这意味着您有一个正在运行的 Web 服务器,它被配置为运行 PHP 文件等。

【讨论】:

  • 是的,我试过 php script.php?param1=123,它不起作用
  • 是的 Veseliq,该脚本无需参数即可完美运行 :)
  • 你有没有看我的回答?
  • 我告诉一切配置良好(一个正在运行的 Web 服务器,配置为运行 PHP 文件等)
  • wget 是完成工作的最简单方法。
【解决方案2】:

理想情况下,在命令行界面 (CLI) 中运行 PHP,您将使用 $argv 和 $argc 全局变量将参数传递给脚本。

示例: my_php_script.php

 <?
    var_dump($argv);


    php my_php_script.php arg1 arg2


array(3) {
  [0]=>
  string(17) "my_php_script.php"
  [1]=>
  string(4) "arg1"
  [2]=>
  string(4) "arg2"
}

哈里

【讨论】:

    【解决方案3】:

    使用全局$argv获取命令行参数。

    【讨论】:

      猜你喜欢
      • 2020-11-10
      • 2023-03-28
      • 2019-04-15
      • 2019-09-27
      • 2018-05-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-22
      相关资源
      最近更新 更多