我正在尝试从另一个脚本中执行php脚本。第一个脚本的输出不依赖于第二个脚本,第二个脚本需要一段时间才能执行,所以我在第一个脚本中使用exec命令来运行第二个脚本,并附加带有&符号的行来制作第二个脚本在后台运行。
exec('php /path/to/secondScript.php > /dev/null 2> /dev/null &');
我知道使用exec命令存在固有的安全风险。我现在很好,因为我没有使用任何用户输入。
我的问题是我想将对象$ object传递给第二个脚本。我怎样才能做到这一点?我试过了:
exec('php /path/to/secondScript.php $object > /dev/null 2> /dev/null &');
在第二个脚本中使用:
$argv[0];
但它返回为null。
我尝试将exec行修改为:
exec("php /path/to/secondScript.php $object > /dev/null 2> /dev/null &");
但这使得剧本失败了。
由于$ object是一个对象,我是否需要先将其转换为字符串?
答案 0 :(得分:0)
将对象序列化为字符串,然后尝试
$object = serialize($object);
exec("php /path/to/secondScript.php $object > /dev/null 2> /dev/null &");