ec2へphpでftpアップロードができません
php7のftp_put
を使いec2へファイルのアップロードをしようとしているのですが、以下のワーニングが出てきてしまいファイルのアップロードに失敗してしまいます。
出ているワーニングはどういったエラーなのでしょうか。
又、問題があるのはコードなのかサーバー側なのか…
ご相談よろしくお願いします
エラーメッセージ
Warning: ftp_put(): php_connect_nonb() failed: Operation now in progress (115) in /var/www/test/ftp_operate.php on line 32
Warning: ftp_put(): Switching to Binary mode. in /var/www/test/ftp_operate.php on line 32
ソースコード
<?php
ini_set( 'display_errors', 1 );
// サーバ
define("FTP_COPY_CONNECT_HOST","***.**.*.**");
define("FTP_COPY_LOGIN_USER","testuser");
define("FTP_COPY_LOGIN_PASSWD","testpass");
$fpath = "/var/www/test/iLog201900314.zip";
$ftp = new FtpOperate();
$ftp->startCopy($fpath);
class FtpOperate
{
public function startCopy($fpath)
{
// FTPサーバ接続
// デフォルトポート0(21),120秒でタイムアウト
//$ftp = ftp_connect(FTP_COPY_CONNECT_HOST, 0, 120);
$ftp = $this->connect();
if(!$ftp)
{
echo "接続失敗";
return false;
}
// ftp_set_option($ftp, FTP_USEPASVADDRESS, false);
ftp_pasv($ftp,true);
if(!ftp_put($ftp, basename($fpath), $fpath, FTP_BINARY))
{
echo "アップロード失敗";
ftp_close($ftp);
return false;
}
ftp_close($ftp);
return true;
}
public function connect()
{
// FTPサーバ接続
// デフォルトポート0(21),120秒でタイムアウト
$ftp = ftp_connect(FTP_COPY_CONNECT_HOST, 0, 120);
if(!$ftp)
{
echo "接続失敗";
return false;
}
// FTPログイン
if(!ftp_login($ftp, FTP_COPY_LOGIN_USER, FTP_COPY_LOGIN_PASSWD))
{
echo "ログイン失敗";
ftp_close($ftp);
return false;
}
return $ftp;
}
}