【问题标题】:How to call a php script using system in PHPFog如何在 PHPFog 中使用系统调用 php 脚本
【发布时间】:2012-07-15 22:25:54
【问题描述】:

我有一个需要在后台运行的 php 脚本。目前在我的开发盒上我正在运行

shell_exec("php5-cgi <path>");

它工作正常。虽然,当我将代码推送到专用的 phpfog 云上时,似乎没有调用该脚本。我无法找出问题所在。是exec_shell不工作还是php5-cgi命令不存在。

我怎样才能更好地了解发生了什么?

【问题讨论】:

  • 我不熟悉 PHPFog,但在 Pagoda Box, these are called workers。不是拉皮条竞争,只是给你我的背景。
  • 什么是exec_shell? PHP函数?
  • 首先你应该熟悉文档:docs.phpfog.com/faqs/#sharedvdedicated
  • JaredFarrish:感谢您的关注 :) GabrielSantos:是的,它是一个 PHP 函数。 @dev-null-dweller:我读过它,但它没有说明如何使用任何函数调用 php 脚本。只是说它们在专用服务器中可用(我有)

标签: php phpfog


【解决方案1】:

您可以尝试从您的 exec 调用中删除 5-cgi:

exec_shell("php <path>");

此外,您可以为此使用 cron 作业:http://docs.phpfog.com/customize/cron

创建一个 cron 作业以在适合您需要的时间间隔内运行 &lt;path&gt;(假设路径是一个 php 文件)。 PHPFog 使这非常容易。

如果您尝试执行长时间运行的任务,而不是让浏览器等待结果,我建议您在数据库表中排队,然后使用 cron 作业执行处理这些排队任务的 php 脚本。我会使用来自客户端的 ajax 调用来检查任务的状态,然后在任务完成时刷新页面。

【讨论】:

  • 这几乎解决了我的问题。现在唯一的问题是。当我运行“php ”时,我没有将 apache 环境暴露给该脚本。
  • 使用cron作业界面运行脚本时,您将拥有phpfog环境变量。
猜你喜欢
  • 1970-01-01
  • 2016-11-01
  • 2011-08-15
  • 1970-01-01
  • 1970-01-01
  • 2016-07-07
  • 2012-04-07
  • 1970-01-01
  • 2014-07-22
相关资源
最近更新 更多