从 PHP exec() 运行 bash 脚本


run bash script from php exec()

如何使用sudophp运行bash脚本

index.php

<?php
$arg;
exec("sudo /var/www/script", $arg);
?>

脚本:

!#/bin/bash
echo YOUR ARG IS $1;
sudoers www-data ALL=NOPASSWD /var/www/my 
chmod 755 /var/www/my 

首先,你不能像那样直接sudo它。因此,您必须更改 sudoers 文件中的一些配置。

在控制台中运行sudo visudo,在文件末尾添加以下行

nobody ALL = NOPASSWD: /var/www/script

PS:像这样使用脚本是一种安全风险,有时会在很大程度上破坏数据安全,所以我的建议是不要那样调用您的脚本。