Как я могу выполнить несколько Сценариев PHP из Сценария PHP (как пакетный файл)?

В Eclipse Kepler

  1. перейдите в Справку, выберите «Установить новое программное обеспечение»
  2. Выберите «Kepler- http://download.eclipse.org/releases / kepler ”или добавьте его, если он отсутствует.
  3. Разверните раздел «Разработка Web, XML и Java EE». Проверьте JST Server Adapters и JST Server Adapters Extensions и установите его

. После перезапуска Eclipse перейдите в Window / Preferences / Server / Среды выполнения

7
задан Charles 21 May 2009 в 19:07
поделиться

4 ответа

Вы можете использовать функцию exec () для вызова каждого скрипта как внешней команды.

Например, ваш скрипт может делать:

<?php

exec('php -q script1.php');
exec('php -q script2.php');

?>

Exec имеет некоторые проблемы безопасности, связанные с этим, но похоже, что это может сработать для вас.

10
ответ дан 6 December 2019 в 08:17
поделиться

// используйте 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');

?>

Раньше я делал что-то вроде создания набора фреймов, содержащего ссылку на каждый файл. Вызовите набор фреймов, и вы вызовете все сценарии. В наши дни вы можете сделать то же самое с iframe или ajax.

6
ответ дан 6 December 2019 в 08:17
поделиться

exec () - прекрасная функция для использования, но вам придется подождать до завершения процесса, чтобы продолжить работу с родительским скриптом. Если вы выполняете пакет процессов, каждый из которых занимает немного времени, я бы предложил использовать popen ().

Полученная вами переменная создает указатель на канал, который позволяет вам выполнять несколько процессов за раз, сохраняя их в массиве, а затем обращаясь ко всем с последовательной скоростью после того, как все они будут завершены (намного больше одновременно) с помощью steam_get_contents ().

Это особенно полезно, если вы выполняете вызовы API или запускаете сценарии, которые могут не потреблять много памяти или вычислительных ресурсов, но требуют значительного ожидания для завершения каждого из них.

3
ответ дан 6 December 2019 в 08:17
поделиться

Если вам нужны какие-либо результаты, возвращаемые этими сценариями, вы можете использовать функцию system .

$result = system('php myscript.php');
$otherresult = system('php myotherscript.php');
3
ответ дан 6 December 2019 в 08:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: