我的index.php文件中有以下代码。但它无法正常工作..当我直接访问domain.com/script.php时,它的工作原理。我需要在访问索引页面时在后台执行此脚本。谁能帮我?
shell_exec('php script.php > /dev/null 2>/dev/null &');
检查php是否以安全模式运行,或者为了安全起见,在安全模式下禁用shell_exec为什么不使用
卷曲
运行代码
好吧,我认为你的案件有两个可能的问题
1)试试这个:
shell_exec("script.php 2>/dev/null >/dev/null &");
要么
shell_exec("script.php 2>&1 | tee -a /tmp/mylog 2>/dev/null >/dev/null &");
2)在windows下使用shell-exec时,处理捕获stderr输出问题的简单方法是在命令之前调用ob_start(),之后调用ob_end_clean()
ob_start();
ob_end_clean();
好吧,而不是使用shell_exec,您可以在用户访问index.php时对script.php进行ajax调用。
另一个选择是每5分钟左右运行一次script.php作为cron作业。当用户访问index.php时,可以将一些数据保存到数据库,指示应该运行script.php。 script.php应该检查它是否标记为运行。