使用 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
目录 path
、to
和 some
都需要是组可读的并且组 www-data
(或其他任何Apache 是 运行 as).
我正在构建一个仪表板来控制几个不同的网站(每个网站都在一个 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
目录 path
、to
和 some
都需要是组可读的并且组 www-data
(或其他任何Apache 是 运行 as).