35

私はこれを使用して、URLの可用性を確認しています。

$fp = fsockopen($url, 443, $errno, $errstr);

そして、私はこのエラーを取り戻します...

警告:fsockopen()[function.fsockopen]:https://example.com/soapserver.php:443に接続できません(ソケットトランスポート " https "が見つかりません-PHPを構成したときに有効にするのを忘れましたか? )C:\Homeなどで...

私はIISサーバーを使用しています(それは私のことではありません!)ので、open-sslがないことと関係があると思いますが、よくわかりません。誰か助けてもらえますか?

私はphpinfo()を実行し、sslを使用していますが、IMAPとcURLではそれだけです。

何か案は?

4

6 に答える 6

47

次の行のコメントを外します: extension=php_openssl.dllinphp.ini

于 2011-01-30T19:17:30.073 に答える
29

fsockopen呼び出しでは、URLではなく、ホスト名のみを使用する必要があります。実際のHTTPヘッダーのホスト/ポートを除いたURIを指定する必要があります。@Martijinが指摘しているように、またマニュアルページに記載されているように、SSLの場合はssl://、トランスポート層セキュリティを使用している場合はtls://をホスト名の前に付ける必要があります。

fsockopenのマニュアルページ。例1を見てください。

于 2008-12-18T17:33:26.237 に答える
16

また、ssl の場合は、ホストの前に ssl:// を付ける必要があります。

于 2008-12-18T17:41:27.843 に答える
0

php に curl がインストールされているかどうかを確認します。インストールされていない場合は、curl をインストールします。Windows の場合 行のコメントを外します: php.ini の extension=php_openssl.dll、ubuntu の場合 sudo apt-get install php-curl

于 2017-01-11T11:22:42.013 に答える