Бочонок
http://frontender.info
Очередная проблема с exec. Бесконечный рекурсивный вызов. Почему???
Доброго времени суток.
Есть скрипт который должен отрабатывать минут 30 в сумме.
1. Что бы обойти ограничение по времени когда приближается лимит времени на исполнение скрипта я должен запустить его еще раз. И закрыть первый скрипт.
2. Нужен скрипт который запустит паралельно несколько таких цепочек.
В теории все просто - exec(). Неоднократно обсуждалось на форуме.
Но раньше я с ним никогда не работал и решил что бы не усложнять в случае чего отношений с хостинг-провайдером оттестировать дома...
Написал темстовый скрипт. который должен был вызвать другой скрипт который создаст файлик с временем вызова и закроется.
Но не тут то было. вопревых начал рекурсивно и бесконечно запускатся php а во вторых - никаких файликов не создало.
если из cmd вызывал d:/host/php4/php.exe d:/host/test/www/exec_test.php - все нормально отрабатывало...
Скрипт 1
Скрипт 2
И скриншот этой забавной рекурсии.
Очень надеюсь что вы поможете разобпратся что не так...
Пожаааалуста

Доброго времени суток.
Есть скрипт который должен отрабатывать минут 30 в сумме.
1. Что бы обойти ограничение по времени когда приближается лимит времени на исполнение скрипта я должен запустить его еще раз. И закрыть первый скрипт.
2. Нужен скрипт который запустит паралельно несколько таких цепочек.
В теории все просто - exec(). Неоднократно обсуждалось на форуме.
Но раньше я с ним никогда не работал и решил что бы не усложнять в случае чего отношений с хостинг-провайдером оттестировать дома...
Написал темстовый скрипт. который должен был вызвать другой скрипт который создаст файлик с временем вызова и закроется.
Но не тут то было. вопревых начал рекурсивно и бесконечно запускатся php а во вторых - никаких файликов не создало.
если из cmd вызывал d:/host/php4/php.exe d:/host/test/www/exec_test.php - все нормально отрабатывало...
Скрипт 1
PHP:
<?
exec("d:/host/php4/php.exe d:/host/test/www/exec_test.php");
die();
?>
PHP:
<?
if (!$handle = fopen('d:/host/test/www/log/exec'.rand().'.log', 'a')) {
die("Cannot open file ($filename)");
}
flock($handle, LOCK_EX);
if (fwrite($handle, date("d.m.Y H:i:s:").microtime()) === FALSE) {
die("Cannot write to file ($filename)");
}
flock($handle, LOCK_UN);
fclose($handle);
?>
Очень надеюсь что вы поможете разобпратся что не так...
Пожаааалуста

