php - 在 PHP 中使用 curl 上传失败

标签 php ubuntu curl ssh upload

我想在 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/

相关文章:

php - 从 php mysql 数据库添加三级子菜单

php - 从mysql更改为mysqli时的PHP undefined variable

c++ - Qt - ubuntu 中的串口名称

python - 如何实现python aiogram bot的自动重载?

php - xml php curl 请求不支持的媒体类型

bash - 如何在 bash 脚本中运行 curl 并将结果保存在变量中

php - 使用 mysql 变量创建 PDF 文档

php - 如何连接来自不同数据库的两个表?

python - 计算密集型应用程序的服务器成本?

json - 使用youtube api和curl获取所有 channel 信息