PHP を使用してファイルを FTPS サーバーにアップロードしようとしていますが、SSL エラーが頻繁に発生します。試行された 2 つの方法は次のとおりです。
// METHOD 1
$url = 'ftps://username:pwd@ftpserver/filename.txt';
$context = stream_context_create(array('ftp' => array('overwrite' => true)));
$file_put_contents($url, 'FILE CONTENTS', 0, $context);
// METHOD 2
$ftph = ftp_ssl_connect('ftpserver', 21, 10);
ftp_login($ftph, 'username', 'password');
print ftp_pwd($ftph);
ftp_close($ftph);
エラー方法 1:
file_put_contents(ftps://...@ftpserver/filename.txt): ストリームを開けませんでした: 行 X の /php/file/directory/index.php で SSL モードを有効にできません
エラー方法 2:
ftp_login(): 行 X の /php/file/directory/index.php で SSL/TLS ハンドシェイクが失敗しました
PHP マニュアルでは、ftp_ssl_connect
PHP が OpenSSL でコンパイルされていない場合は存在しないと述べています。PHP は関数が存在しないことを訴えていません。また、phpinfo からのすべての指標は、OpenSSL が有効になっていることを示しています。FileZilla クライアントはデフォルト ポート (21) で正常に接続し、暗号化: 明示的な FTP over TLS が必要
Ubuntu 12.04 で LAMP を実行しています。