代码之家  ›  专栏  ›  技术社区  ›  user254875486 TM Creative

安排PHP脚本的最佳实践

  •  0
  • user254875486 TM Creative  · 技术社区  · 14 年前

    对于一个项目,我需要调度几个PHP脚本。有些脚本有点复杂(例如,发送邮件、做数据库工作、使用多个外部Web服务、使用外部文件和类等)。问题是,这些脚本也需要从浏览器调用,它们确实使用了 $_SERVER 阵列(包括 HTTP_HOST )
    有没有一种方法可以让这些脚本在命令行中工作,或者我必须重写它们以使它们与“命令行兼容”?或者更好地使用命令行中指定不可用变量的参数?

    我们有一台运行Windows Server 2008的服务器。

    2 回复  |  直到 14 年前
        1
  •  2
  •   Mchl    14 年前

    您应该抽象脚本中浏览器和命令行环境所共有的部分。然后,您可以将其包含到两个脚本中,其中一个脚本将使用$\u服务器,另一个命令行参数变量运行公共部分。

        2
  •  1
  •   symcbean    14 年前

    调度PHP脚本的最佳实践?

    1)不要。这是一个很难处理的问题——你最终花了太多的时间试图将脚本组织到可用的时间段中,你最终得到的是一个系统,该系统会根据运行过和没有运行过的作业改变状态。你真的希望所有处理都直接响应用户请求而触发。(这并不意味着他们必须工作 同步地 和在用户请求的同一执行线程中)。

    2)不要在MSWindows上执行此操作-Microsoft操作系统可以提供GUI,但没有其他操作系统上可用于作业管理和自动化的工具范围。

    我见过很多这样的情况,人们把东西推到预定的批处理中仅仅是因为代码的性能太差。在很多情况下,更好的解决方案是修复性能问题。

    尽管如此,既然你已经在一个洞里了,是的,你可以把所有的代码复制到命令行和Web版本中——或者你也可以下载 wget cURL 并安排这些程序调用URL,通过get或post传递所需的值