【问题标题】:Execute PHP script server side执行 PHP 脚本服务器端
【发布时间】:2014-01-06 14:03:07
【问题描述】:

昨天我创建了一个运行良好的脚本,但只使用了一个打开的 Web 浏览器,这不是我想要的。我想要的是脚本一直运行,即使是关闭的 Web 浏览器。

无法上传图片,所以它是一个简短的草图:

(lookup.php) -> 传递 var data1 -> (run_code.php) -> 传递 var data1 -> (check.php) = {{每 5 秒刷新一次,直到 var data2 存在于 MySQl.}} -> 转到 -> lookup.php .....

唯一的问题是我不知道如何在没有 GET、POST、COOKIE 或 SESSION 的情况下将值从一个 .php 文件发送到另一个文件。会话将是最好的选择,但“lookup.php”正在寻找一个值,如果我启动会话,我会收到错误“标题已设置”。

那么,我应该如何将这些值从“lookup.php”传递给“run_code.php”?

第二个问题是,“check.php”是一个检查值是否存在于 mysql 中的代码。此代码使用 META REFRESH 刷新并在 5 秒后自行执行。但如果没有浏览器,这也是行不通的。

我应该如何编写脚本一段时间后自己执行的脚本?

【问题讨论】:

  • 你不能用curl吗?
  • 如果这些脚本不打算在浏览器中使用,为什么不直接将它们编写为 CLI 脚本,然后从 cron 运行它们?
  • 如果您希望脚本在指定的时间间隔后自行运行,那么在 Linux 系统上您可以使用 cron 作业
  • 实话实说,我从未在 linux 或 cron 上尝试过。但是谢谢,我会调查这些事情。

标签: php mysql session server-side


【解决方案1】:

如果我知道你想编写一个脚本(并选择 php 可能是因为你熟悉它的语法)并且你需要它每 X 分钟运行一次。

问题是当您使用 PHP 编写网站时,您可以使用 HTTP 方法(get/post)和会话传递信息

在没有 HTTP 流量和会话的机器上运行脚本时(这可以模拟,但有点复杂)

我的建议是:

1) 将所有 php 文件合并为 1 个将运行的长 php 文件(这样您就可以毫无问题地使用脚本中的变量) - 您可以将代码复制到 1 个 php 文件中,并且可以包含脚本中需要的文件,以便您可以保留原始文件

2) 添加一个 cron 作业(如果它是 Linux 系统) - http://www.cyberciti.biz/faq/how-do-i-add-jobs-to-cron-under-linux-or-unix-oses/ - 这样你的脚本每 X 次运行一次(你的选择)

【讨论】:

  • 谢谢,这就是我的解决方案!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-08
相关资源
最近更新 更多