[PHP-users 34625] Re: FTP接続について

HOTTA Michihide hotta @ net-newbie.com
2009年 6月 29日 (月) 16:07:31 JST


堀田@長崎市です。

On Sat, 27 Jun 2009 18:17:32 +0900 
岸田 佳久 <kakyuu_k @ yahoo.co.jp> wrote:
Subject: [PHP-users 34623] FTP接続について

> 社内で開発中のシステムでFTPでファイル転送を行う必要があるので
> すが、コネクト(ftp_connect)に失敗し、原因が分らず困っています。

動作確認中は、関数名の前の '@' をはずした方がいいと思います。
(エラーが出たらすぐわかるように)

> ・実際の確認は添付スクリプトにサーバ、ユーザ名、パスワードのパ
>  ラメータを設定して行いました。(FFFTP等のツールでは問題なく接
>   続できる設定です。)

動作環境として、以下の4パターンが考えられると思います。

1.自宅のクライアントマシン
2.自宅のWebサーバマシン(= (1) と同じかもしれませんが)
3.会社のクライアントマシン
4.会社(or 外部)のWeb サーバマシン

この中で、「FFFTP 等のツール」を動かして、FTP サーバに接続できて
いるマシンはどれですか?

> ・動作確認はコマンドライン実行ではなく、ブラウザから添付スクリ
>  プトを実行させました。
>  実行するとftp_connect()でエラーリターンし、die()に送られ、
>  ブラウザ上に"Couldn't connect to サーバ名"と出力されます。

これが「何らかのURL にアクセスして、会社のWeb サーバ(apache)経由
で実行した」ということでしたら、PHP が動くのは (4)の上ですから、
(4) の上で FTP が単体で接続できることを確認する必要があります。

どうやって確認するかは、環境がわからないので何とも言えませんが、
ssh/telnet/console でログインできる環境があれば、コマンドライン
で

  ftp サーバ名 or IPアドレス

で接続できるか、くらいでしょうか。

ちなみに、「ある関数が使えない(組み込まれていない)状態のエラー
表示は、以下のようになります(わざと関数名を間違えて、関数が存在
しない場合をシミュレートしています)。

$ php -r 'ftp_commect();'
PHP Fatal error:  Call to undefined function ftp_commect() 
in Command line code on line 1

-- 
HOTTA Michihide <hotta @ net-newbie.com>


PHP-users メーリングリストの案内