for($i=0;$i<5;$i++)
{
system("php -f /var/www/dom/dev/okey/1.php &");
}
выполнение php скрипта с помощью system()
Изв если не тот раздел..
Есть php скрипт
Код:
for($i=0;$i<5;$i++)
{
system("php -f var/www/dom/dev/okey/1.php &");
}
{
system("php -f var/www/dom/dev/okey/1.php &");
}
который выдает:
Цитата:
No input file specified.
Если же в шелле набрать:
Цитата:
php -f var/www/dom/dev/okey/1.php &
то все ок отрабатываеться(только если запускать в корне),
а подефолту когда открываеться шелл то находишься в
Цитата:
[root@km22011-24 root]#
приходиться подыматься на дир-ю выше:
Цитата:
[root@km22011-24 root]# cd ..
и запускать скрипт:
Цитата:
[root@km22011-24 /]# php -f var/www/doors/dev/okey/1.php &
[1] 22160
[1] 22160
мне кажеться что именно изза этого скрипт приведенный выше не работает, если это так подскажите плз решение
иначе любое другое решение которое заставит работать скрипт:
Код:
for($i=0;$i<5;$i++)
{
system("php -f var/www/dom/dev/okey/1.php &");
}
{
system("php -f var/www/dom/dev/okey/1.php &");
}
он должен запускать копии скрипта var/www/dom/dev/okey/1.php
Заранее Всем признателен за любую помощь:)
Код:
Для того чтобы указать абсолютный путь, нужно его начать c "/"
только теперь возникла другая проблема:
какие бы значения не указывал в цикле всеравно запускаеться только одна копия скрипта 1.php
Цитата: AlexNew
ясно спасибо,
только теперь возникла другая проблема:
какие бы значения не указывал в цикле всеравно запускаеться только одна копия скрипта 1.php
только теперь возникла другая проблема:
какие бы значения не указывал в цикле всеравно запускаеться только одна копия скрипта 1.php
При вызове system текущий процесс заменяется запускаемым. Чтобы запустить несколько процессов надо ответвить (fork()) несколько процессов и в каждом из них вызвать system()
неверно. после fork надо вызывать exec. system - выполняет неявный вызов [FONT=Courier New]и fork(), wait() & execl(), [/FONT][FONT=Verdana]после чего происходит возврат в вызывающую программу.[/FONT]
Код:
for($i=0;$i<2;$i++)
{
if (($launcher_forkpid = pcntl_fork()) == -1)
die("could not fork\n");
else
if ($launcher_forkpid) // we are the parent
system("php -f /var/www/dom/dev/okey/i/".$i.".php &");
}
?>
{
if (($launcher_forkpid = pcntl_fork()) == -1)
die("could not fork\n");
else
if ($launcher_forkpid) // we are the parent
system("php -f /var/www/dom/dev/okey/i/".$i.".php &");
}
?>
пишет что нет такой функции pcntl_fork() видимо пхп бех нее скомпилен,
Можно без нее обойтись? Пока тока выход нашел - запускать по крону через минуту