2016-11-22 15 views
0

ftp_ssl_connectを使用してftpに接続する必要のある関数があります。 IamはWindows 7を使用し、Googleからの回答ごとに、ssl関数をインクルードするためにPHPを再構築する必要があります。今私の質問は、Windows上でPHPを再構築せずにsslを有効にする方法はありますか?または、sslがすでにWindows用に組み込まれている、donwloadableバージョンがありますか? PHP docからPHP open_ssl、ftp_ssl_connect on Windows

おかげ

+0

WindowsでのPHPのコンパイルは、最悪の敵には望ましくないものです。そこには多くのWAMPバンドルがあります。(これはアドバイスを受ける場所ではありません。もちろん、あなたの正確なニーズに応じて、もちろん別の機能を使用する方が良いでしょう。 –

答えて

0

注:なぜこの関数は(

ftp_ssl_connect存在しなくてもよい)、FTPモジュールと OpenSSLサポートの両方がある場合にのみ利用可能ですPHPに静的に組み込まれています。つまり、 Windowsの場合、この関数はになります。公式のPHPビルドでは定義されていませんこの機能をWindowsで利用できるようにするには、PHP バイナリをコンパイルする必要があります。

強調鉱山。


はしかし、私は公式php.netからWindows用のPHPバイナリをダウンロードしていると私は、OpenSSLのための特定のDLL(内線/ php_openssl.dll)があります気づきました。これは、opensslを動作させるためにPHPを再構築する必要がないことを意味します。 php.iniファイルにdllのエントリを追加してください。

; Directory in which the loadable extensions (modules) reside. 
; http://php.net/extension-dir 
; extension_dir = "./" 
; On windows: 
extension_dir = "ext" 

... 
extension=php_openssl.dll 

NOTE

私がテストしていない上記の場合: それはこのようなものでなければなりません。

+0

いいえ、 'ftp_ssl_connect()'はまだSSLが静的にビルドされていないので利用できません。 –

0

PHP 7.0以降、WindowsのコアFTP拡張機能は、デフォルトでOpenSSLをサポートしています。それ以前のPHPバージョンでは、SSLサポートは可能ですが、さまざまな理由で標準ビルドでは提供されていません。 PHP 5の唯一の解決策は、PHPのカスタムビルドを作成することです.ftp_ssl_connect()関数をwindows.php.net上に標準のPHP 7.0ビルドでビルドします。

ありがとうございました。

+0

最新のビルドをダウンロードしたのにエラーが発生しました。 –

+0

正確なエラーは? php_ftp.dllはphp.iniからロードされていますか? –