PHP shell_exec 使用 lighttpd Raspberry pi
PHP shell_exec with lighttpd on Raspberry pi
我正在 raspberry pi 上创建简单的 Wi-Fi 扫描脚本。为此,我使用了 lighttp 网络服务器和 php。我可以 运行 php 没有任何问题。但是当我 运行 shell 脚本使用 php 它不正确 return 结果。我的代码是这样的
<?php
$ssidoutput = shell_exec('. /var/www/html/scanssid.sh');
sleep(3);
echo "<pre>$ssidoutput </pre>";
#var_dump($ssidoutput );
?>
但是当我执行这个时,我的网络浏览器上只打印了一个 SSID。但是当我 运行 shell 脚本时,我可以在我的终端上看到完整的 SSID 列表。我认为这是某种执行时间问题并增加睡眠值。但这不能解决我的问题。如何解决这个问题。我的 shell 脚本只包含扫描 Raspbian
SSID 的命令
我认为您遇到这个问题是因为 "shell_exec" in php 无法读取多行输出。
最简单的想法是修改您的脚本以在单行上打印所有 SSID。可能以逗号分隔,然后在 php 中处理以用新行替换逗号。
我正在 raspberry pi 上创建简单的 Wi-Fi 扫描脚本。为此,我使用了 lighttp 网络服务器和 php。我可以 运行 php 没有任何问题。但是当我 运行 shell 脚本使用 php 它不正确 return 结果。我的代码是这样的
<?php
$ssidoutput = shell_exec('. /var/www/html/scanssid.sh');
sleep(3);
echo "<pre>$ssidoutput </pre>";
#var_dump($ssidoutput );
?>
但是当我执行这个时,我的网络浏览器上只打印了一个 SSID。但是当我 运行 shell 脚本时,我可以在我的终端上看到完整的 SSID 列表。我认为这是某种执行时间问题并增加睡眠值。但这不能解决我的问题。如何解决这个问题。我的 shell 脚本只包含扫描 Raspbian
SSID 的命令我认为您遇到这个问题是因为 "shell_exec" in php 无法读取多行输出。 最简单的想法是修改您的脚本以在单行上打印所有 SSID。可能以逗号分隔,然后在 php 中处理以用新行替换逗号。