Нужно запустить пхп скрипт отдельна чтоли. Думаю юзать exec ,но мне нада еще параметр передать скрипту. И чтоб скрипт в котором команда exec не ждал выполнения скрипта в параметрах.
А в чем проблема написать типа passthru("ls -lia > /dev/null"); ? Или там если параметры в плане $_GET переменной, то запускай типа passthru("lynx --dump http://site.ru/script.php?.... > /dev/null");
Изврат дальше некуда! Попроще какнибудь) нужно запустить скрипт ипередать ему парметр один и пусть он выполняется скока хочет. А основной скрипт дальше делает свое дела не дожидаясь когда выполнится скрипт который запустить нада.
Фаэр феникс, твой вариант у меня был как запасной... Я не понял,как запустить в unix and windows с аргументами? Пхп.Ехе -... Итд? А в юникс? И все же эт не оч то шо мне нада...Нада средствами пхп.
PHP: $query = “POST ” . $url_info[path] . ” HTTP/1.1\r\n”; $query = $query . “Content-Type: text/xml\r\n”; $query = $query . “Host: ” . $url_info[host] . “\r\n”; $query = $query . “Content-length: ” . (strlen($request)) . “\r\n\r\n”; $query = $query . $request; // создаем сокет, переводим его // в неблокирующий режим и запускаем $errno = 0; $error = “”; $socket = fsockopen($url_info[host], $url_info[port], $errno, $error, 30); stream_set_blocking($socket, 0); fputs($socket, $query); http://www.stableversion.com/node/3
Вставляешь в начало скрипта который надо вызывать из консоли PHP: foreach ($argv as $params) { list($key, $value) = explode("=", $params); $_GET[$key] = $value; } в итоге все параметры из $argv преобразуются в $_GET вызываем так: Code: php file.php param1=value param2=value по аналогии можно и под $_POST сделать ... и вобще под что угодно)
А что никсы? Пхп же тотжий => запуск одинаковый пример index.php PHP: <?php system('php -f C:\shell.php +site http://google.ru +file C:\result.html'); ?> Ну пути для никсов будут другие только shell.php PHP: <?php if ($argc == 3 || $argc == 5) { if ($argv[1] == '+site') { $site = $argv[2]; } $content = file_get_contents($site); if ($argc == 5) { if ($argv[3] == '+file') { $file = $argv[4]; if (strlen(trim($file)) > 0) { file_put_contents($file, $content); echo('Сайт успешно записан!'); } } } else { echo($content); } } else { echo('Неверные параметры!'); } ?>
Новая проблема. Запускаю скрипт через систем пхп ./а/д.Пхп все норм,скрипт запускается. И он должен создать файл в той директории по идее в которой он находится, тоесть в а , а он создает файл в директории, в который находится скрипу с систем. Получается как инклуд...
Какие относительные.Ты не понял. Есть файл а.Пхп систем(./дир/б.Пхп) б.Пхп находится в папке дир фопен д.Тхт ... Файл создается не в директории дир а втой в которой а.Пхп! Поидее если файл б.Пхп в папке дир,то он должен там и создать файл.