ftp_put()文件很慢很慢

时间:2014-07-11 08:41:26

标签: php multithreading performance ftp

我已经制作了一个等待文件的表单。提交后,文件将通过ftp_put()功能上传到远程服务器。问题在于它需要2/3分钟。

我尝试逐一删除行,以找出错误的内容,以及调用ftp_put()这需要花费大量时间的电话。该文件只有20Ko。有没有办法在其他线程或其他东西上传文件?

编辑: 这是我的PHP代码。

  $file = $_FILES['attachment']['tmp_name'];
  $ext = pathinfo($_FILES['attachment']['name'], PATHINFO_EXTENSION);
  $remote_file = '/cv_'.$_POST['first_name'].'_'.$_POST['last_name'].'_'.strval(time()).'.'.$ext;
  $ftp_server = 'xxxxxxxxx';
  $ftp_user_name = 'xxxxxx';
  $ftp_user_pass = 'xxxxxx';

  $conn_id = ftp_connect($ftp_server);
  $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
  if (!ftp_put($conn_id, $remote_file, $file, FTP_ASCII)) /* This line is taking so long */
  {
    echo "There was a problem uploading the file $file\n";
  }
  ftp_close($conn_id);

编辑2:文件在几分钟后正确上传。代码在localhost上正常运行,但是当它在生产服务器上运行时,它会花费很长时间。

1 个答案:

答案 0 :(得分:2)

解决它启用被动模式。