How can I run several PHP scripts from within a PHP script (like a batch file)?

后端 未结 4 1767
我在风中等你
我在风中等你 2021-01-05 09:50

How can I run several PHP scripts from within another PHP script, like a batch file? I don\'t think include will work, if I understand what include is doing; because each o

相关标签:
4条回答
  • 2021-01-05 10:36

    You could use the exec() function to invoke each script as an external command.

    For example, your script could do:

    <?php
    
    exec('php -q script1.php');
    exec('php -q script2.php');
    
    ?>
    

    Exec has some security issues surrounding it, but it sounds like it might work for you.

    0 讨论(0)
  • 2021-01-05 10:39

    exec() is a fine function to use, but you will have to wait until termination of the process to keep going with the parent script. If you're doing a batch of processes where each process takes a bit of time, I would suggest using popen().

    The variable you get creates a pointer to a pipe which allows you to go through a handful of processes at a time, storing them in an array, and then accessing them all with serial speed after they're all finished (much more concurrently) using steam_get_contents().

    This is especially useful if you're making API calls or running scripts which may not be memory-intensive or computationally intensive but do require a significant wait for each to complete.

    0 讨论(0)
  • 2021-01-05 10:51

    // use exec http://www.php.net/manual/en/function.exec.php

    <?php
    
    exec('/usr/local/bin/php somefile1.php');
    exec('/usr/local/bin/php somefile2.php');
    
    ?>
    

    In the old days I've done something like create a frameset containing a link to each file. Call the frameset, and you're calling all the scripts. You could do the same with iframes or with ajax these days.

    0 讨论(0)
  • 2021-01-05 10:51

    If you need any return results from those scripts, you can use the system function.

    $result = system('php myscript.php');
    $otherresult = system('php myotherscript.php');
    
    0 讨论(0)
提交回复
热议问题