我想在 ssh 中使用 curl 和 PHP,我做到了,但程序有时在 PHP 中不起作用。
我在 ssh 中运行它并成功运行:
curl -F video=@123.mp4 "https://example.com"
但是当我用 PHP 编写这段代码时,它被上传但没有完成:
include('Net/SSH2.php');
$ssh = new Net_SSH2('ip');
if (!$ssh){
echo 'Error';
} else {
$ssh->login('username','password') or die("Login failed");
$ssh->exec('curl -F video=@123.mp4 "https://example.com"');
}
问题是什么?
最佳答案
使用 ssh2功能。您可以通过 exec()
进行的任何操作call 可以直接使用这些函数完成,为您节省大量的连接和 shell 调用。
例子:
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$stream = ssh2_exec($connection, 'curl -F video=@123.mp4 "https://example.com"');
您是否尝试上传较大的文件?因为上传文件时 PHP 可能会超时。我建议您尝试使用几 KB 的较小文件,如果可以,则确认代码可以正常工作,然后您应该增加超时
set_time_limit(0)
并运行代码
关于php - 在 PHP 中使用 curl 上传失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47469684/