当前位置: 首页 > 面试题库 >

从命令行运行PHP脚本作为后台进程

丁宏盛
2023-03-14
问题内容

我试图通过Linux中的命令行在后台连续运行PHP脚本。我已经尝试过该命令,php filename.php &但是脚本执行似乎很快终止,而脚本应继续运行直到该过程终止。

有什么建议么?


问题答案:

您确定脚本不包含任何错误吗?这就是通常使“ 执行很快终止 ”的原因。
首先,附加:

error_reporting(E_ALL); ini_set('display_errors', 1);

在脚本顶部显示可能存在的任何错误,然后可以使用:

nohup php filename.php &

即使会话断开连接或用户注销,nohup也会运行命令。

要么

nohup php filename.php >/dev/null 2>&1 &

与上述相同,但不创建nohup.out文件

您还可以使用:
ignore_user_abort(1);

设置客户端断开连接是否应中止脚本执行

set_time_limit(0);

限制脚本的最大执行时间,在这种情况下,它将一直运行到进程结束或apache进程重新启动。

phpfilename.php路径可以被设置为一个 完整路径
,而不是phpfilename.php,你可以使用/usr/bin/php/full/path/to/filename.php
建议使用完整路径, 以避免 找不到文件 错误。



 类似资料:
  • 问题内容: 我一直在尝试编写从串行端口读取数据的python脚本。它在命令行上运行良好,但是我需要它作为后台进程运行而没有任何命令行界面。该脚本有一个while循环,该循环从串行端口读取下一个数据字节,并相应地模拟按键。为了使按键可以专注于当前窗口而不是python命令行,我需要脚本作为后台进程运行。我在这里读的答案很少,但是没有什么让我振奋。请指出正确的方向。 问题答案: 在Windows上,您

  • 我如何通过命令行运行它?

  • 问题内容: 如何从PHP脚本运行linux命令?我正在运行Linux Debian和PHP5。我希望能够向控制台发出命令。 我正在寻找的示例如下所示: 我还能回显该函数的输出吗? 问题答案: 使用运行任何命令。但是请注意不要执行任何用户输入,因为这可能严重损害服务器。 另外,请注意,大多数共享服务器都会阻止该功能,因此您将无法使用它。 最后,作为一种简写,您可以将要执行的命令包装在反引号中。

  • 问题内容: 我需要将php脚本作为守护进程运行(等待说明并执行操作)。cron工作不会为我做这件事,因为需要在指令到达后立即采取措施。我知道由于内存管理问题,PHP并不是守护进程的最佳选择,但是由于种种原因,在这种情况下我必须使用PHP。我遇到了libslack的一个名为Daemon的工具(http://libslack.org/daemon),它似乎可以帮助我管理守护进程,但是最近5年没有任何更

  • 本文向大家介绍PHP 将脚本执行限制为命令行,包括了PHP 将脚本执行限制为命令行的使用技巧和注意事项,需要的朋友参考一下 示例 函数php_sapi_name()和常数PHP_SAPI都返回接口的类型(小号erver API)正在使用由PHP。通过检查函数的输出是否等于,可以将它们用于限制脚本在命令行中的执行cli。 该drupal_is_cli()函数是一个函数示例,该函数检测是否已从命令行执

  • 问题内容: 我有一个PHP文件,需要从命令行运行(通过crontab)。我需要传递给文件,但我不知道如何。我试过了: 但是返回了此错误: 无法打开输入文件:myfile.php?type = daily 我能做什么? 问题答案: 该参数(在结束了阵列)仅适用于网络访问的页面。 您需要像调用它一样,并从数组中检索该参数(为,因为为)。 如果该页面也用作网页,则可以考虑两个选项。使用shell脚本和w