使用来自另一个php文件的参数执行php脚本

时间:2013-09-02 09:11:02

标签: php

我正在玩一个我必须从另一个php文件调用的脚本。从文件update.php开始,我必须通过调用其文件serv.php来启动脚本。但是,为了serv.php能够工作,我不得不传递一些论点。从命令行启动serv.php的命令如下:

php c:\path_to_folder\serv.php run --argument1="some_text" --argument2="some_text" --port=some_port

如果我们假设update.phpserv.php位于同一个文件夹,那么如何从serv.php内拨打update.php

4 个答案:

答案 0 :(得分:1)

从serv.php发送$ argv的serv.php到update.php(参见http://php.net/manual/en/reserved.variables.argv.php)。即在update.php中你将有另一个$ argv,所以你必须在不同名称的数组中发送命令行参数列表。

答案 1 :(得分:0)

在您调用的PHP脚本中使用execsystem调用。提到PHP CLI的完整路径,即/ user / bin / php或服务器中的任何路径。

答案 2 :(得分:0)

您可以使用exec功能执行系统命令。 PHP exec()

您可以从serv.php脚本中调用您的网页update.php

exec('php c:\path_to_folder\serv.php run --argument1="some_text" --argument2="some_text" --port=some_port');

答案 3 :(得分:0)

shell_exec("php c:\path_to_folder\serv.php some_text some_text some_port ");

通常是php -fphp5-cli而不是php,有些服务器甚至不需要php文件夹的路径
这是我的疑问之一:

$ex=$setting[8]." ".dirname(__FILE__)."/sendmail.php NewMem ".$_SESSION['id']." ";
if(substr(php_uname(), 0, 7) == "Windows")
    pclose(popen("start /B ".$ex,"r")); /windows server
else
    shell_exec($ex." > /dev/null 2>/dev/null &");//Apache

其中$setting[8]php -fphp5-cli".dirname(__FILE__)."/sendmail.php是文件的路径,其他是参数。
要检索传递的参数,使用包含所有其他参数$argv的{​​{1}}是文件路径 请注意,每个空格都定义了一个新参数