我正在尝试使用shell_exec()
并且很难理解如何使用它。我参考了这个页面:有没有办法使用shell_exec而不等待命令完成?.
我创建了两个 PHP 文件:
shell_exec.php
<?php
shell_exec('php ' . __DIR__ . '/log.php > /dev/null 2>/dev/null &');
?>
日志文件
<?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 路径?在这种情况下,有没有好的方法呢?