Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: proc_open macos
Форумы портала PHP.SU » » Операционная система и системные вызовы » proc_open macos

Страниц (1): [1]
 

1. maksmib - 20 Ноября, 2012 - 20:24:16 - перейти к сообщению
Добрый день.
Есть такая проблема. Нужно из определенного места в коде запустить в фоне некий php-скрипт передав ему нужные данные. Делаю так:

PHP:
скопировать код в буфер обмена
  1. proc_close(proc_open('nohup php ../scripts/myscript.php '
  2.                 . $data1 . ' '
  3.                 . $data2 . ' '
  4.                 .' &', array(), $x
  5.         ));

В myscript.php просто для теста пишется строчка в логфайл.

Проблема: в логфайле так ничего и не появляется.

Я проверил, что proc_open действительно отрабатывает и возвращает id ресурса запущенного процесса. Попробовал запустить из командной строки - все гуд. Попробовал абсолютно то же самое на убунту сервере - все гуд. Проблема только на mac os.

Подскажите пожалуйста в какую сторону хоть искать? Может какие-то специфические настройки веб-сервера для этого нужны или модули? Я нагуглить пока не смог ничего полезного.
2. maksmib - 25 Мая, 2013 - 14:49:47 - перейти к сообщению
Никто не сталкивался?
3. maksmib - 24 Марта, 2014 - 12:39:32 - перейти к сообщению
Интересно.
Недавно снова такая проблема возникла. Сработало вот такое решение:

PHP:
скопировать код в буфер обмена
  1. shell_exec('php '.APPLICATION_PATH.'/scripts/script.name.php 2>&1')

 

Powered by ExBB FM 1.0 RC1