Laravel 5.2 - 如何通过模态/控制器运行shell命令



我如何通过模型或控制器运行shell命令。不是通过工匠的命令或$schedule。

还有我如何运行 sudo 命令?

我已经尝试了下一个选项。没有任何效果:

1:

$process = new Process('sudo /usr/bin/touch /var/www/html/Poptin test2.html');
                $process->run();
                // executes after the command finishes
                if (!$process->isSuccessful()) {
                    throw new ProcessFailedException($process);
                }

阿拉伯数字:

shell_exec(escapeshellcmd('sudo /usr/bin/touch /var/www/html/Poptin test2.html));

3:

exec('sudo /usr/bin/touch /var/www/html/Poptin test2.html);

请帮忙!

刚刚在 Laravel 5.5 中测试了运行 exec 并且它可以工作。这是我尝试过的:

$test = exec('echo 123');
dd($test);

我知道您正在运行 5.2,但运行它应该没有什么不同。

我可以看到您在exec方法和shell_exec中忘记了结尾。

而不是写作

exec('sudo /usr/bin/touch /var/www/html/Poptin test2.html);

你应该写

exec('sudo /usr/bin/touch /var/www/html/Poptin test2.html');

还要确保您尝试运行的命令在直接在 shell 中运行时有效。

你所做的是正确的,但你必须这样做例如shell_exec('sudo/usr/bin/touch/var/www/html/Poptin test2.html') 试一试,在控制器中使用shell_exec还有一个不好的做法。

最新更新