如何使用Php shell_exec运行外部php脚本?

问题描述 投票:0回答:3

我的index.php文件中有以下代码。但它无法正常工作..当我直接访问domain.com/script.php时,它的工作原理。我需要在访问索引页面时在后台执行此脚本。谁能帮我?

shell_exec('php script.php > /dev/null 2>/dev/null &');
php curl exec shell-exec
3个回答
0
投票

检查php是否以安全模式运行,或者为了安全起见,在安全模式下禁用shell_exec为什么不使用

卷曲

运行代码


0
投票

好吧,我认为你的案件有两个可能的问题

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();

0
投票

好吧,而不是使用shell_exec,您可以在用户访问index.php时对script.php进行ajax调用。

另一个选择是每5分钟左右运行一次script.php作为cron作业。当用户访问index.php时,可以将一些数据保存到数据库,指示应该运行script.php。 script.php应该检查它是否标记为运行。

© www.soinside.com 2019 - 2024. All rights reserved.