Запустить скрипт на выполнение и не ждать результата
Мне надо запустить скрипт, который будет долго выполняться из другого скрипта.
Я пробовал exec, system, fopen, но всё они ждут результата выполнения.
Можно как-то запустить скрипт или послать ему запрос на выполнение, например при помощи сокетов или функции header, чтобы родительский скрипт продолжил выполняться, и новый запустился.
Вариант с pcntl и fork тоже не подходит, т.к. их на серваке нету.
Не задавался я таким вопросром, но не пробывал через exec, при чем команду в exec-е в таком виде "комманда &"
1) вверху скрипта ignore_user_abort () тебе в помощь. *
2) создаешь сокет, даешь лимит на ожидание, лимит истек, скрипт разорвет соединение с *, * продолжит выполняться), твой скрипт продолжит выполняться.
Цитата: newcss
Eсли речь идет о PHP, то:
1) вверху скрипта ignore_user_abort () тебе в помощь. *
2) создаешь сокет, даешь лимит на ожидание, лимит истек, скрипт разорвет соединение с *, * продолжит выполняться), твой скрипт продолжит выполняться.
1) вверху скрипта ignore_user_abort () тебе в помощь. *
2) создаешь сокет, даешь лимит на ожидание, лимит истек, скрипт разорвет соединение с *, * продолжит выполняться), твой скрипт продолжит выполняться.
а можно пример кода?
и для ignore_user_abort надо какие-то расширения ставить?
или на чистом PHP никакая многозадачность невозможна?
Код:
<?
exec("/var/www/myscript.php > /dev/null &");
?>
exec("/var/www/myscript.php > /dev/null &");
?>
не работает? или у вас виндовый сервер?
Цитата: Lone Wolf
Код:
<?
exec("/var/www/myscript.php > /dev/null &");
?>
exec("/var/www/myscript.php > /dev/null &");
?>
не работает? или у вас виндовый сервер?
неа, фрюха.
я наверно сделаю вставку jQuery просто где надо там и всё, т.к. у PHP я смотрю нет стандартных средств даже извращённых для многопоточности...
Цитата: trivium
а можно пример кода?
и для ignore_user_abort надо какие-то расширения ставить?
и для ignore_user_abort надо какие-то расширения ставить?
Может за тебя весь скрипт написать?
Почитай как через сокеты открыть файл,
Почитай какой флажок нужно поставить для функции ignore_user_abort.
первый вариант пробовал, всё равно ждёт выполнения, а второй гляну, спасибо
Цитата: newcss
Может за тебя весь скрипт написать?
Почитай как через сокеты открыть файл,
Почитай какой флажок нужно поставить для функции ignore_user_abort.
Почитай как через сокеты открыть файл,
Почитай какой флажок нужно поставить для функции ignore_user_abort.
это дохлый номер и он не прокатит.