Я пытаюсь осуществить запуск скрипта в фоновом режиме, но что-то у меня с этим не клеится.
Ближе к сути:
есть файл index.php и test.php
Сразу скажу что эти файлы созданы мной для обкатки, так сказать, технологии.
файл index.php
<?php
exec("$ nohup php -q test.php > script.log 2>&1 &");
файл test.php
<?php
set_time_limit(0);
ignore_user_abort(true);
file_put_contents('test.txt', 'test tst tst');
Как я понимаю при запуске index.php, командой exec() должен быть запущен скрипт test.php, а весь вывод или ошибки пишутся в файл script.log.
Но вот тут проблема:
Вмество отработки скрипта как надо в логи пишется :
"$" не является внутренней или внешней командой, исполняемой программой или пакетным файлом.
Также в нете я нашел такой вариант, но результат тот же.
"$ php -q parser_controller.php < /dev/null > script.log &"
Но если в exec() подставить :
"test.php > script.log 2>&1 &" или "test.php < /dev/null > script.log &"
ошибка в лог не пишется, но и скрипт не отрабатывает.
В чем моя ошибка?
П.С пути на скрипт и лог-файл указал отностельные т.к они находятся в корневой директории, хотя пробовал и абсолютные - результат тот же.
П.П.С. Все эти телодвижения я пытаюсь провернуть на локальном хосте, apache/ ОС - Win8