3

PHP スクリプトで奇妙な FTP エラーが発生します。コマンドライン FTP だけで失敗を再現できたので、問い合わせから PHP を排除できると思います。

Ubuntu 10.10 でコマンド ライン FTP を使用すると、FTP サーバーに接続したり、ログインしたり、ディレクトリを一覧表示したりできます。ただし、「put」を使用してローカル マシンから FTP サーバーにファイルを転送しようとすると、「553ファイルを作成できませんでした」エラー。アクティブ モードとパッシブ モードで同じエラーが発生します。転送はバイナリに設定されています。

同じマシンで FileZilla を実行し、同じ資格情報を使用して同じ FTP サーバーに接続し、同じファイルを同じ宛先ディレクトリに転送しようとすると、バイナリおよびパッシブ モードにデフォルト設定した後、転送は正常に機能します。

FWIW、同じ詳細を使用する PHP スクリプト (単純な ftp_connect、ftp_login、および ftp_put) は、「Illegal PORT command」で失敗しますが、これは、コマンド ライン FTP から取得した同じエラーに対する PHP の解釈にすぎないと思われます。繰り返しになりますが、このエラーはアクティブおよびパッシブ FTP モードの両方で発生します。

4

1 に答える 1

2

FileZilla と ftp コマンドは、おそらく別のディレクトリで開始されます。FileZilla で開始リモート ディレクトリをセットアップでき、コマンド ラインから同じ場所に移動する必要があります。

コマンド ライン クライアントからログインした後、コマンドを使用してみてくださいpwd。現在の作業ディレクトリが表示され、それを FileZilla が使用しているディレクトリと比較してから、cdコマンドで正しいディレクトリに移動します。

于 2011-07-03T07:25:58.320 に答える