[PHP-users 21111]httpsでPOSTしたい

yo @ yo.design.co.jp yo @ yo.design.co.jp
2004年 4月 2日 (金) 13:45:01 JST


なぎさと申します
ただいまSubjectの件でつまづいております
よろしくお願いします。


■やりたいこと
リモートサーバにhttpsでPOSTして、その戻り値(正常orエラー)によって
処理をしたい

以下のような流れです
1.<FORM method="POST" action="https://リモートホスト/xxx.asp">を
  submitする
2.結果がechoされる
3.その文字列を判断して処理を振り分け

1.については、ユーザの操作なしに行いたいので
全てPHPで行いたいと考えています


■動作環境など

ホスティングサービス(共有サーバ)を利用しています
SSLはオプションで申し込み、完了との旨連絡受けました
https://自分のドメイン/xxx.php できる状態です

自分でインストールしたことがないので、どの情報が必要なのか
わかりません。不足の情報がありましたらご指摘ください

phpinfo()による情報
  Linux PHP Version 4.3.1

  Configure Command:"--with-openssl[=DIR]" の表示なし
                    "--with-curl[=DIR]" の表示なし
  apache
  Loaded Modules: "mod_ssl" の表示あり

  PHP Variables
  _SERVER["SSL_VERSION_INTERFACE"]:mod_ssl/2.8.16
  _SERVER["SSL_VERSION_LIBRARY"]:OpenSSL/0.9.7b


■試したこと 1.fsockopen()
http://jp.php.net/manual/ja/function.fsockopen.php
>joe at edwardsconsultants dot com
>10-Aug-2003 03:56

>$fp = fsockopen("ssl://".$host, $port, $errno, $errstr, $timeout = 
30);


結果
Warning: fsockopen() [function.fsockopen]: no SSL support

Warning: fsockopen() [function.fsockopen]: unable to connect to リモー
トホスト:443 


この部分が気になり調べましたら
>PHP 4.3.0以降、OpenSSLサポートを有効にしてコンパイルした場合
>hostname の前に'ssl://' または 'tls://' を付加することにより、
>TCP/IP経由でリモートホストに 接続する際にSSLまたはTLSクライア
>ント接続を使用することができます。

このページが見つかりました
LXXIIOpenSSL 関数
http://php.s3.to/man/ref.openssl.html
>PHPのOpenSSLサポートを使用するには、--with-openssl[=DIR]を指定して
>PHPをコンパ イルする必要があります。


■試したこと 2.CURL関数 curl_init()
http://jp.php.net/manual/ja/function.curl-init.php
>例 1. 新規CURLセッションを初期化し、Webページを取得する

>$ch = curl_init();


結果
Fatal error: Call to undefined function: curl_init()


■質問
1."_SERVER["SSL_VERSION_LIBRARY"]:OpenSSL/0.9.7b"と表示されますが
  現在の状態では、OpenSSLサポートは有効になっていないのでしょうか?


2.「SSLが使えます」と(ホスティング業者が)言うのと
  「OpenSSLサポートを有効にする」というのは
  別のことなのでしょうか?


3.現在OpenSSLが無効になっているのが原因で
  fsockopen()実行時にエラーがでているとしたら
  Subjectの件について、どういった実現方法がありますか?



以上です
よろしくお願いします


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