Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запуск скрипта в фоновом режиме, из другого скрипта 
:(
    Опции темы
maykoff
Дата 22.11.2006, 12:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 19.8.2006

Репутация: нет
Всего: нет



Проблема: нужно выполнить служебный скрипт по событию.
Событие - переход по ссылке на скрипт и его отработка.
1.php:
Код

<?php
require("user.inc");
$valid=new Service_auto();
$msg='';
$valid->confirm($msg);
//где-то здесь необходим запуск 2.php
header("Location:main.php?action=main&msg=".$msg);
?>

в bin`е
.../bin/2.php:
Код

#!/usr/local/bin/php -q
<?php
include('func.php');
loging("run_run_run");
?>


в 1.php нужно запустить 2.php, причём 1.php должен продолжить работу , не дожидаясь каких-либо ответов от 2.php
Права соответствующие установили.
Пробовал варианты типа 
exec("php /var/www/.../bin/2.php"); - не запустил, 
возможно, неправильно составлена команда .
Заранее благодарю за внимание.
PM MAIL   Вверх
Mal Hack
Дата 22.11.2006, 17:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 5
Всего: 261



Через system попробуй. Фоновый процесс запускается с символом &.
А вообще, если надо просто выполнить второй скрипт, то можно его быстренько прописать в auto_append_file
PM ICQ   Вверх
maykoff
  Дата 23.11.2006, 10:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 19.8.2006

Репутация: нет
Всего: нет



пробовал многое.
листинг запускающего скрипта:
Код

<?php
echo "превед!";
exec("/var/www/....../bin/sending.php > /var/www/f...........a/bin/out.log 2>&1 &");
exit;
?>

описание проблемы:
скрипт запускается и корректно отрабатывает из консоли, но призапуске через веб-интерфейс происходит фигня - при отпущеном выводе (не перенаправляя его директивой > )
- скрипт запускается до тех пор, пока не кончаются ресурсы сервера (при этом не отрабатывая), если же вывод в файл - запускается и виснет...
Если есть сомнения насчёт правильностьи скриптов - так их пока ещё нет, скриптов-то.
Смысл писать , если запустить не получается? Не получается именно запуск на исполнение (точнее, корректное исполнение, потому что сервак вешается моментательно, если вывод не перенаправить )
Уникально ещё и то, что куча  народу утверждает, что скрипт работать должен , и это действительно так, если верить людям и мануалам.
Скорее всего - проблема в разнице окружения при запуске из консоли (SSH, Putty) и через вебинтерфейс, но где конкретно, и как её устранить - я просто теряюсь.

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

Это сообщение отредактировал(а) maykoff - 23.11.2006, 10:49
PM MAIL   Вверх
maykoff
Дата 23.11.2006, 18:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 19.8.2006

Репутация: нет
Всего: нет



перекомпиллировали php как cli (был cgi), всё заработало.
Подозреваю, что проблема былва именно в окружении - во втором случае, (я до конца не понял) кажется, при запуске, php выстраивает для себя новое окружение.
PM MAIL   Вверх
alligator
Дата 12.12.2006, 18:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 730
Регистрация: 28.1.2004

Репутация: нет
Всего: 1



достаточно просто вставить в начало скрипта ignore_user_abort();

Добавлено @ 18:04 
http://ru.php.net/manual/ru/function.ignore-user-abort.php
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Сеть | Следующая тема »


 




[ Время генерации скрипта: 0.0534 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.