通过Net_SFTP下载文件时,PHP脚本会静默崩溃

时间:2015-03-26 19:30:01

标签: php phpseclib

我有一个脚本可以从2个不同的服务器下载2个文件。在下载过程中,页面将停止加载,或产生500内部服务器错误。时间不一致,并且在任何地方都没有错误日志。如果我刷新FTP客户端中的服务器文件夹,我可以看到文件下载。我甚至让网络托管公司打开所有错误记录,但没有错误。这些文件是XML,大小在7MB到15MB之间。

这是运行两次的脚本:

$conn_id = new Net_SFTP($ftp_server . ":2222");
$conn_id->setTimeout(false);

if (!$conn_id->login($ftp_user_name, $ftp_user_pass))
    exit('Login Failed');

$conn_id->get($server_file, $local_file);
$status = 'success';
$output =  file_get_contents($local_file);

unset($conn_id);

此外,get命令是否返回布尔值?

更新:我联系了我的托管公司,他们有这样说:

对于500个错误,我们必须查找它们。您收到以下错误: "脚本标题的过早结束" 哪个是我们不知道的unix版本。

1 个答案:

答案 0 :(得分:0)

$conn_id = new Net_SFTP($ftp_server . ":2222");

这不是正确的方法。你应该这样做:

$conn_id = new Net_SFTP($ftp_server, 2222);

您正在做的事情与此类似:

fsockopen($ftp_server . ':2222', 22);