【发布时间】:2018-08-24 03:23:34
【问题描述】:
我正在尝试通过 PHP 应用程序执行 SSH 命令。
通过 PHP 应用程序,我键入“./SSDownload.sh”。 通过我的终端 SSH,我输入“./SSDownload.sh”。
SSDownload.sh 包含:
cd /var/www/html/dev/media/mp3/$1
spotify-to-mp3 songs.txt
通过我的终端 SSH,我得到以下响应:
Resolving "fancy iggy azalea"
Searching "fancy iggy azalea" on Grooveshark
"Iggy Azalea - Fancy (feat. Charli XCX)" will be downloaded
Downloading tracks...
[1/1] Iggy Azalea - Fancy (feat. Charli 100% [==================================] Time: 00:00:01
Download complete
文件下载成功,并将文件放在正确的目录中。
我使用以下代码对 PHP 进行了同样的尝试:
include('Net/SSH2.php');
$ssh = new Net_SSH2('iphere');
if (!$ssh->login('root', 'password')) {
exit('Login Failed');
}
echo "1 : " . $ssh->exec('./SSDownload.sh ' . $_GET['player']) . "<br />";
输出:
Resolving "fancy iggy azalea" Searching "fancy iggy azalea" on Grooveshark "Iggy Azalea - Fancy (feat. Charli XCX)" will be downloaded Downloading tracks... [0;31;49mInappropriate ioctl for device[0m [0;32;49mDownload complete[0m
文件没有下载成功,没有把文件放到正确的目录下。
我想提醒您注意“Inappropriate ioctl for device”,不管它是什么意思。
为什么反应不同?我该如何解决它?
【问题讨论】:
-
偷窃是不好的,mkay
-
@zerkms 用于 Spotify 应用程序:3
-
这里怎么涉及ssh?
-
@Kenster 好吧,我想知道为什么在同一台机器上执行相同的脚本会产生两种不同的结果。涉及 SSH 是因为两个应用程序都使用 SSH 来执行脚本。谢谢。
-
PHP 应用程序正在使用 ssh?你能从 PHP 应用程序中添加相关的源代码吗?