运行一个PHP脚本时。该脚本将在脚本中的某个位置调用另一个脚本。这两个脚本需要同时运行,所以我不能在这里使用include或require。该脚本将使用终端调用,如下所示:
exec( '/usr/bin/php ../process.php >> logs/' . date( 'Y_m_d' ) . '.log 2>&1 &' );
这里的一个大问题是我想要处理6种不同的东西,但它们都将使用完全相同的代码。唯一的区别是它们将被处理的目录。
现在的问题是:在传递一个或多个变量时是否有一种简单的方法来运行第二个脚本?
我试过类似../process?var=something
的内容,但这显然不会这样。
答案 0 :(得分:6)
您可以将一些变量作为参数传递给脚本。传递的所有参数都在变量$argv
。
参见php docs $argv
然后循环浏览$argv
并检查您定义的某些关键字。
exec( '/usr/bin/php ../process.php -f '/path/to/folder' >> logs/' . date( 'Y_m_d' ) . '.log 2>&1 &' );
$argv
变量将保留-f
和/path/to/folder
,因此只需检查循环中的-f
,然后按-f
+的位置获取值1。