php - 如何从 php 运行 .sh 文件?

标签 php

我正在尝试使用 php 运行 shell 脚本

shell 脚本 (/home/scripts/fix-perm.sh ) 在同一台服务器上

这是我正在尝试的代码

<?php
echo shell_exec('/home/scripts/fix-perm.sh');
?>

上面的代码不工作

我正在使用 linux 服务器

谁能帮帮我?

最佳答案

Shell exec 需要一个字符串,它需要是一个实际的命令。您现在正在向它传递一个文件路径。这不会被解释为“在此路径执行文件”。你可以做几件事。

您需要做的是用程序调用该文件。按照评论中的建议用 bash 或 sh 调用它:

echo shell_exec('sh /home/scripts/fix-perm.sh');

另一种选择是:

$contents = file_get_contents('/home/scripts/fix-perm.sh');
echo shell_exec($contents);

不过,我认为第一种选择会更好。

请务必注意,所有用于执行外部程序的命令都需要实际命令,而不是文件路径或其他内容。这适用于 shell_exec , exec , passthru和其他人。

关于php - 如何从 php 运行 .sh 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7397672/

相关文章:

php - 从应用程序登录的最佳方式

php - 如何设计带有访客处理功能的安全购物车?

php - 为什么在 PHP 中使用 "use"关键字来导入核心标识符?

php - 在 PHP 中使用订阅选项将日历公开为 iCal

php - PHP 7.4 中无法捕获弃用警告

javascript - 单击“阅读更多”按钮时每个帖子的 WordPress 模式

php - 通过PHP验证用户

php - 重定向出站链接和 rel ="nofollow"属性 - 有什么区别?

php - 显示从组合框中选择的搜索选项的所有结果

php - 是什么导致此 mysql 查询错误?