Я пытаюсь использовать shell_exec()
и не понимаю, как его использовать. Я сослался на эту страницу: Есть ли способ использовать shell_exec, не дожидаясь завершения команды?.
Я создал два файла PHP:
shell_exec.php
<?php
shell_exec('php ' . __DIR__ . '/log.php > /dev/null 2>/dev/null &');
?>
log.php
<?php
$file = __DIR__ . '/log.txt';
$current = time() . ": sample text\r\n";
file_put_contents($file, $current,FILE_APPEND);
?>
Затем я получил доступ к странице shell_exec.php из своего браузера. Я ожидал, что он запустит log.php и создаст файл. Однако ничего не происходит.
Я подозреваю, что пути php, указанные в функции, которая равна php
в приведенном выше коде, различаются в разных операционных системах. В настоящее время я тестирую в Windows, так что это может быть причиной того, что это не работает. Но я не уверен на 100%.
Если да, как мне найти путь php и указать его в своей среде? Также означает ли это, что если я распространю скрипт, который использует shell_exec()
и вызову скрипт php, нужно ли мне писать код, чтобы узнать путь php? В таком случае, есть ли хороший способ сделать это?
/usr/bin/env php
- person dan-lee   schedule 13.09.2012/usr/bin/php
, и/usr/bin/env php
, но ничего не вышло. Я запускаю XAMPP на переносном диске. Не в этом ли причина? - person Teno   schedule 13.09.2012