PHP控制台脚本和网络脚本之间有什么区别?

我试过阅读并理解PHP控制台是一个命令行界面(CLI),如composer中使用的那样。我不明白网页脚本和控制台脚本之间的区别。我没有看到使用这两个。PHP控制台脚本和网络脚本之间有什么区别?

我想抓取某个链接的数据。我应该使用控制台脚本还是Web脚本?为什么?

请用最简单的方式解释。

回答:

那么,基本上一个控制台脚本是你的任务的方式。

的区别在于以下事实:一个Webscript将阻止您的浏览器,不会显示你的进展实时等

我能够抓取和我心爱的动漫与控制台脚本下载约6000图像,显示进度状态,使用Web脚本更难以浏览器缓存输出。你也可以链接你的脚本,也可以做一些cron魔术(假设你在nix盒子上)

回答:

网页和CLI实例之间的一个区别是脚本执行的方式:网页将通过web容器加载,而CLI通常将通过用于启动PHP的shell执行。由于这一点,CLI可能无法访问所有$ _SERVER变量,因为实际上没有涉及HTTP请求。

CLI脚本可用于执行非Web服务器启动的后台任务,例如定期清理数据库的cron作业,以及执行排队作业的后台任务。把CLI看作shell脚本,你可以写一个PHP脚本而不是bash脚本。

PHP解释器在这两种情况下都是相同的,并且由您决定哪一个最适合您的需求:网页更常见,但是如果您需要让服务器在不等待Web请求的情况下执行一些工作,你可以使用CLI。

回答:

这两者之间没有区别。在大多数情况下,无论您是从命令行还是通过Web执行它,相同的PHP脚本都将运行。

然而,脚本将在其内执行的环境有所不同。 CLI脚本从您的计算机上的shell启动并在其中执行。它非常独立。另一方面,web脚本(通常)是通过来自浏览器的HTTP请求启动的,通过Web传递到Web服务器,在该远程服务器上执行,结果(通常是网页)被传递回你的浏览器。在后一种情况下,与脚本提供的Web请求相关的特殊环境变量。

想知道哪些是您的网络爬虫程序脚本的最佳情况而不知道更多细节有点困难。但我会说一个命令行脚本就是你所追求的。

以上是 PHP控制台脚本和网络脚本之间有什么区别? 的全部内容, 来源链接: utcz.com/qa/263644.html

回到顶部