Я встречаю странное поведение с помощью простого PHP-скрипта, который загружает файл на ftp-сервер.PHP ftp upload error
Я создал следующую усеченную версию моего кода, который производит ту же ошибку:
<?php
error_reporting(E_ALL);
echo phpversion();
$ftpUrl = "mydomain";
$ftpUserName = "myuser";
$ftpPassword = 'mypass';
$fileContents = "test";
file_put_contents('text.txt', $fileContents);
//open ftp connection
$conn_id = ftp_connect($ftpUrl, 1030);
if(!$conn_id)
die('error while connecting to ftp');
$login_result = ftp_login($conn_id, $ftpUserName, $ftpPassword);
if (!$login_result)
die('ftp login failed!');
//switch to passive mode
ftp_pasv($conn_id, true);
//upload file to ftp
try
{
$fileToUpload = fopen('text.txt', 'r');
if($fileToUpload == false)
die('can\'t open file to send!');
$upload = ftp_fput($conn_id, 'testfile.txt', $fileToUpload, FTP_ASCII);
}
catch(Exception $e)
{
fclose($fileToUpload);
ftp_close($conn_id);
die('Error while uploading to ftp');
}
fclose($fileToUpload);
ftp_close($conn_id);
if (!$upload)
die('ftp upload failed');
>
На FTP-сервере клиента, я получаю следующее сообщение об ошибке при запуске скрипта. (Ошибка возникает при попытке загрузить файл, Настройка подключения к протоколирование в работах)
Warning: ftp_fput() [function.ftp-fput]: php_connect_nonb() failed: Operation now in progress (115) in {path} on line 38
Warning: ftp_fput() [function.ftp-fput]: Type set to A in {path} on line 38
ftp upload failed
- Загрузка и тот же файл с FileZilla на этот FTP-сервер работает нормально.
- Файл содержит только несколько строк текста.
- При запуске этого скрипта на другом сервере он отлично работает.
Сервер использует PHP версии 5.3.28
Я боролся с этой ошибкой в течение нескольких часов теперь, и это сводит меня с ума. Любые подсказки?
'Тип установки для Ā' является ответ от FTP-сервера признавая запрос на передачу файла в режиме ASCII. – user3338098
Я считаю, что эта проблема связана с проблемами тайм-аута соединения TCP/IP. – user3338098
Возможный дубликат ["php \ _connect \ _nonb() не выполнен: выполняемая операция (115)" происходит с перерывами] (http://stackoverflow.com/questions/15688331/php-connect-nonb-failed-operation-now -in-progress-115-happens-intermitten) –