如何用PHP表示shell文件?
我有一个名为sync.sh的文件,那么如何在php中运行该文件以及如何在完成执行后获取响应?我认为shell_exec()将有助于触发文件但是如何才能获得脚本完成任务的响应?
看一下exec()函数.您可以传入一个return_var,它将保存shell脚本中的退出代码.
$out = array();
$status = -1;
exec( '/path/to/sync.sh', $out, $status );
if ( $status != 0 ) {
// shell script indicated an error return
}
Run Code Online (Sandbox Code Playgroud)
需要注意的一点是脚本将使用Web服务器的权限运行,而不是作为用户自己运行.
另外,请务必注意文档与安全相关的警告:
当允许将用户提供的数据传递给此函数时,请使用escapeshellarg()或escapeshellcmd()以确保用户不会欺骗系统执行任意命令.
根据文档:
返回值
执行命令的输出,如果发生错误则为 NULL。
只需获取该函数的返回值即可。
$result = shell_exec('sync.sh');
Run Code Online (Sandbox Code Playgroud)
并且$result会包含你想要的东西。
| 归档时间: |
|
| 查看次数: |
6936 次 |
| 最近记录: |