Php 如何让shell_exec函数在主目录中运行?

Php 如何让shell_exec函数在主目录中运行?,php,linux,apache,sftp,shell-exec,Php,Linux,Apache,Sftp,Shell Exec,我有一个php脚本在Apache上的Pi4上运行 <?php chdir('/') echo shell_exec('sftp User@localhost') ?> 此代码不显示或执行任何操作。我怀疑这与www数据权限有关 有人知道我如何通过shell_exec运行sftp客户端吗????? 谢谢您可以这样使用: $connection = ssh2_connect('localhost', 22); ssh2_auth_password($connection, 'userna

我有一个php脚本在Apache上的Pi4上运行

<?php
chdir('/')
echo shell_exec('sftp User@localhost')
?>
此代码不显示或执行任何操作。我怀疑这与www数据权限有关

有人知道我如何通过shell_exec运行sftp客户端吗????? 谢谢

您可以这样使用:

$connection = ssh2_connect('localhost', 22);
ssh2_auth_password($connection, 'username', 'password');
$sftp = ssh2_sftp($connection);

运行此代码时,您希望在网页上看到什么?/是根目录,而不是主目录。sftp是一个交互式程序,您不能从web脚本中这样运行它。如果要访问SFTP服务器,请使用ssh2\u SFTP解决我的问题:如何让shell\u exec以超级用户的身份执行命令?例如,如果我想弹出/dev/sda1,该命令将不会执行,因为html目录没有足够的权限以超级用户身份运行。我将如何进行相应的更改。