我有一个要求,我要执行多个php脚本,一个php脚本取决于以前脚本的结果。请注意,所有这些脚本都会更新MySQL数据库。 任何人都可以告诉我为此目的的工具或命令吗? 谢谢!
这是我的jobs.bat文件中的代码
path to php directory\php.exe path to php scritps\script 1.php
path to php directory\php.exe path to php scritps\script 2.php
我只想知道命令2是否会等待"脚本1"直到完全执行并更新数据库或两个命令将并行执行?
答案 0 :(得分:2)
您可以更具体地了解需要从一个PHP脚本传递到另一个PHP脚本的数据类型。
bash脚本可以正常执行php脚本:
php /path/to/script1.php
php /path/to/script2.php
php /path/to/script3.php
至于将数据从一个php脚本传递到另一个php脚本,您有几个选项。其中之一是打包传递到数组中的所有变量,将其序列化,然后将其输出到文件中。当下一个脚本启动时,您要做的第一件事是访问该文件,反序列化该数组,然后使用它在脚本中包含的数据。
第一个php脚本:
// code that does stuff
...
// this comes at the end of your script
// example of variables that you might want to send to the next script
$some_var = 4;
$some_string = 'It works for strings too.';
$some_array = array('red' => '#ff0000', 'green' => '#00ff00', 'blue' => '#0000ff');
// bundle the variables into an array
$bundled_data = array([0] => $var, [1] => $some_string, [2] => $some_array);
// serialize the array into a string
$serialized_array = serialize($bundled_data);
// then write to the file
$file = fopen('temp.txt', 'w');
$file.write($serialized_array);
$file.close();
第二个php脚本:
// this comes at the beginning of your script
// retrieve the saved data
$file_text = file_get_contents('/path/to/temp.txt');
$bundled_data = unserialize($file_text);
// access the data and use it in your script
$var = $bundled_data[0];
$some_string = $bundled_data[1];
$some_array = $bundled_data[2];
希望这个答案与您的情况相关。将来,请发布代码示例,并解释您尝试过的内容。