如何从 plesk 扩展执行 shell 命令

How to execute shell commands from plesk extension

我正在做一个扩展,使用 'public' 目录中的 php 文件作为 webhook。

从这个钩子,我将需要 运行 一些 shell 命令(比如 npm run build 或类似的东西)。是否有来自 plesk 的某种 api 让我这样做?或者我应该使用像 execshell_exec 这样的 php 函数吗?

我在网上看了看,但最后看起来我想要完成的事情是不可行的。确实可以使用shell_exec到运行shell命令,但是使用运行这个命令的用户是psaadm,在里面操作时属于严格限制用户域文档文件夹。您可以看到文件,但不能创建或执行任何脚本,这使得此功能对我想做的事情毫无用处。

如果你想使用 webhook tu 运行 你的 npm 构建(或其他脚本),你总是可以在文档根文件夹中创建一个 php 文件并使用 shell_exec。当您调用此文件时,它将以客户用户身份执行命令,并且能够 运行 那些脚本。

P.S。如果您更改 psaadm 用户的权限,它实际上可能会完成,但这不是安装扩展的用户应该做的事情。不过,不确定它是否适用于您客户的域文档根文件夹。