выполнение внешних файлов php внутри цикла - PullRequest
0 голосов
/ 15 ноября 2011

Если у меня есть цикл while, и внутри него я выполняю php-файл через system (), и, скажем, этот php-файл занимает много времени (например, загрузка изображений и т. Д.), Будет ли главный скрипт ждать, пока он не завершится, покаперейти к следующему циклу?

Теперь похоже, что он действительно ожидает завершения текущего скрипта, прежде чем перейти к следующему, но я просто хочу убедиться.Может быть, кто-то, кто знает внутренности PHP, может пролить свет.

Спасибо.

Ответы [ 4 ]

0 голосов
/ 15 ноября 2011

Если путь brunoais и Sabeen Malik не работает, попробуйте оба вместе:

system("command > /dev/null &")

Под окнами, я думаю, вы можете использовать команду запуска:

system("start command")
0 голосов
/ 15 ноября 2011

Цикл будет продолжен после выполнения команды system ().Чтобы обойти это, можно запустить задание bg с '&'

http://lowfatlinux.com/linux-processes.html

. Я предполагаю, что вы используете Linux.*

0 голосов
/ 15 ноября 2011

Также вы должны использовать set_time_limit, иначе выполнение вашего скрипта будет прервано

0 голосов
/ 15 ноября 2011

Система выполняет команду и затем зависает, пока команда не будет выполнена.

Note:

Если программа запускается с этой функцией, чтобы она продолжала работать в фоновом режиме, выходные данные> программы должны быть перенаправлены в файл или другой поток вывода. В противном случае PHP будет зависать до тех пор, пока не закончится выполнение программы.

Из руководства: http://php.net/manual/en/function.system.php

...