使用 PHP 访问不同的主机帐户

Access a different hosting account using PHP

我正在构建一个仪表板来控制几个不同的网站(每个网站都在一个 cPanel 单独的帐户中(包括仪表板),但都托管在同一台服务器上)。

仪表板将使用 php 的 shell_exec 例如在网站目录中执行 shell 命令:

shell_exec('cd /home/website/www/app/ && php artisan config:cache')

或者只是读取一个文件:

file_get_content('/home/website/www/app/license');

当然,默认情况下,账户之间是不允许这样访问的!有没有办法允许一个 account/user 到 access/modify 个其他帐户?

我会使用 SSH,因为这不会限制您必须在单个服务器上,并且意味着您不必破坏每个 cPanel 帐户的隔离。

https://www.php.net/manual/en/function.ssh2-connect.php

我建议使用这个或者这个:

How To Execute SSH Commands Via PHP

假设 Apache 是 运行 作为组 www-data 中的 www-data 您需要服务器访问的任何文件都应该是组可读的并且组 www-data.

您可以通过 运行:

查看什么是 Apache 运行
ps aux | egrep '(apache|httpd)'

另请记住,文件的整个路径需要组可读。换句话说,给定一个文件 /path/to/some/file.txt 目录 pathtosome 都需要是组可读的并且组 www-data (或其他任何Apache 是 运行 as).