如何从 php 脚本运行 php 命令

Posted

技术标签:

【中文标题】如何从 php 脚本运行 php 命令【英文标题】:How to run php command but from php script 【发布时间】:2015-11-11 20:05:31 【问题描述】:

TL;DR:我需要运行一个命令,但我在主机上唯一能做的就是访问 URL。有办法解决吗?

我正在尝试在我的主机上设置 Cron,手册告诉我:

设置 cron 以运行此命令:

php /path/to/mautic/app/console mautic:leadlists:update --env=prod

但问题是,我的主机(可能出于安全/营销原因)只允许将 URL 作为 cronjobs 运行。

所以虽然我可以从 url 设置运行 php 脚本:

   0 0 23 1/1 * ? * http://example.com/cronjobs.php

我不能像上面给出的例子那样运行实际的命令。

有解决办法吗?

我可以以某种方式编写“通常”的 php 脚本来模拟运行第一个示例吗?

【问题讨论】:

Using CRON jobs to visit url?的可能重复 只指定 URL 不起作用,可以试试:wget http://example.com/cronjobs.phpcurl http://example.com/cronjobs.php 明确一点:我不想访问 URL。我需要运行第一个命令,但如果有意义则从 URL 运行 如果您没有 root 访问权限并且您的主机提供商为您提供了有限的访问权限,您可能希望与他们联系,而不是询问如何做您不允许做的事情。我的意思是,您没有遇到任何技术问题。 【参考方案1】:

这是一个 PHP 脚本,它允许您通过 URL 地址运行 Mautic 命令。使用说明在脚本下方。

https://gist.github.com/escopecz/9a1a0b10861941a457f4

【讨论】:

以上是关于如何从 php 脚本运行 php 命令的主要内容,如果未能解决你的问题,请参考以下文章

从命令行运行 PHP 脚本

如何通过Linux命令行使用和运行PHP脚本

如何在命令行界面Windows操作系统中运行php脚本

如何从需要SUDO的php调用shell脚本?

如何从需要 SUDO 的 php 调用 shell 脚本?

将变量传递给从命令行运行的 PHP 脚本