gpt4 book ai didi

php - PHP exec 和 shell_exec 的问题 - Shell 脚本执行

转载 作者:太空宇宙 更新时间:2023-11-04 12:27:57 26 4
gpt4 key购买 nike

我一直无法运行我需要用来启动和停止使用脚本在本地计算机上运行的网络摄像头服务的 php 脚本。我在日志中找不到任何内容来说明脚本为何不起作用。

我承认我在 PHP 方面存在严重缺陷,尤其是服务器端脚本。

环境是运行 Nginx 的 Debian Jesse,安装了所有必需的 SSH 和 PHP 模块

我已将 www-data 添加到 sudoers 文件中:

    www-data ALL=(ALL) NOPASSWD: /var/www/html/start_webcam.sh

为 www-data 在以下位置启用 $PATH 环境:

    /etc/php5/fpm/pool.d/www.conf

shell 脚本驻留在 .../html 目录中,并从终端运行,没有任何问题。

这是 php 和 shell 脚本的代码:

start_webcam.php:

    <?php
echo exec('sudo bash /var/www/html/aspirebox/start_webcam.sh 2>&1, $output');
print_r($output);
?>

$output 和 print_r 的东西在那里,因为这是我根据我在这里某处发现的帖子尝试的最后一件事。

start_webcam.sh

    #!/bin/bash
service motion start

在此先感谢任何有线索的人。经过 2 天的努力,我确信我没有。

最佳答案

根据 Passing Variables to shell_exec()?你应该像这样改变你的代码:

<?php
$output = exec('/var/www/html/aspirebox/start_webcam.sh 2>&1 ');
print_r($output);
?>

然后让你的 bash 脚本全部执行(不需要 sudo bash):

chmod a+x /var/www/html/aspirebox/start_webcam.sh

关于php - PHP exec 和 shell_exec 的问题 - Shell 脚本执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44101230/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com