PHP 脚本在您手动启动时完成,但在通过 cronjob 启动时则不会

发布于 2024-10-19 18:29:19 字数 274 浏览 3 评论 0原文

当我通过浏览器手动启动脚本时,我有一个完美运行的 PHP 脚本。但是,当它通过 cronjob 运行时,它会启动,但直到脚本结束才运行。

cronjob 和脚本执行肯定会启动(我已经对此进行了测试),但正如我所说:当脚本通过 cronjob 启动时,直到脚本结束时它才会运行。

该脚本已经有一个“set_time_limit(0)”,我也尝试了“ignore_user_abort(TRUE)”,但它根本没有帮助。

预先非常感谢您为解决此问题提供的每一份支持。

詹妮弗

I have a PHP script running perfectly when I start the script via manually via browser. But when it runs via cronjob it starts but it doesn't run until the end of the script.

The cronjob and the script execution definitely starts (I've tested this already), but as I said: It doesn't run until the end of the script when the script is started via cronjob.

The script has already a "set_time_limit(0)" and I also tried "ignore_user_abort(TRUE)" but it doesn't help at all.

Thanks a lot in advance for every support to solve this problem.

Jennifer

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

昨迟人 2024-10-26 18:29:19

您使用 php 还是 wget 执行 php 文件?如果您使用 php,情况会有所不同,因为它需要不同的配置,并且该配置可能会设置较低的内存限制,因此您的脚本会耗尽内存并停止/失败。

实际上,直接使用 php 而不是 wget,您可以指定自己的 php.ini 文件来覆盖一些配置选项,在调用 php.ini 时使用 -c 选项。在那里你应该增加你的内存限制、执行时间限制等等。

阅读以下链接,查看通过选择使用 /bin/php(或 php 的任何路径)而不是 wget 可以使用的所有选项: PHP 参数

Are you executing your php file using php or wget? It's different if you use php, because it takes a different configuration, and that configuration could be setting a low memory limit, so your script runs out of memory and stops/fails.

Actually, using directly php instead of wget, you could specify your own php.ini file to override some configuration options, using the -c option when calling your php. There you should increase your memory limit, execution time limit and so on.

Read the following link to see all the options you can use by choosing to use /bin/php (or whatever the path to your php) instead of wget: PHP Arguments

自由如风 2024-10-26 18:29:19

脚本总是在某个时刻完成。您是否尝试过输入大量 echo(__LINE__) 来看看它走了多远?

A script always finishes at some point. Have you tried putting a load of echo(__LINE__) in to see how far it's getting?

银河中√捞星星 2024-10-26 18:29:19

检查您运行的用户/组并调用 php cron 作业,看看它是否满足路径环境变量。这可能是当前工作目录路径问题。有时在 Windows 中,您必须设置路径以在环境变量中包含安装路径以及 cron 作业路径。

Check the user/group you run and invoke your php cron job and see if it satisfies the path environment variable. This could be a current working directory path issue. Sometimes in windows, you have to set the path to include the install path as well as your cron job path in the environment variable.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文