请参阅终端中的 PHP 脚本执行


see php script execution in terminal

我正在编写一个可能需要半天的脚本,因为它从网站获取大约 14000 个网页的数据。

要了解它是否取得进展,有没有办法观察它的执行,即使用 mac OS shell 与每个抓取页面的传出连接?

我正在使用 curl 来获取页面内容,如果这有任何帮助的话。

多谢!查尔斯

编辑该脚本是用 php 编写的,并从本地主机执行。

在编写自定义脚本时,将某种状态输出到 stdout 非常有帮助。

这可以使用printf http://www.php.net/manual/en/function.sprintf.php 以统一的方式完成

您登录到标准输出的内容取决于您需要查看的信息。 也许对于 curl 请求,我会记录 URL、响应代码,也许是开始时间和结束时间。 这真的取决于你,只要确保你可以验证它的状态/进度。

printf('%40s | %5s', 'URL', 'Status Code');
printf('%40s | %5s', $the_url, $status_code);

如果您通过 Web 浏览器运行它,则在 PHP 完成执行之前看不到输出。但是,file_put_contents()可以将数据追加到您可以查看的日志文件中。

一个示例代码行是:file_put_contents("file name.txt", "'nWebsite abc was successfully scraped", FILE_APPEND); .您必须具有 FILE_APPEND 标志,否则 PHP 每次都会覆盖该文件。

php.net 参考

资料