私は新しくインストールしたUbuntuサーバーのfsockopen()を使ってPHPでSMTPサーバーとのTLS接続を確立しようとしています。私はほとんどすべてを試して、何時間もグーグルで探検したが、それでも私はそれを働かせなかった。次のようにfsockopen経由でPHPにTLS接続を確立できません
PHPコードが見えます:
$fp = fsockopen("tls://smtp.xxxx.com", 25, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
// some other stuff
}
出力はちょうど(0)、すなわち、$ errstrは=ヌルと$ errnoに= 0
のOpenSSLがインストールされ、有効化されている。
OpenSSL support: enabled
OpenSSL Library Version: OpenSSL 0.9.8o 01 Jun 2010
OpenSSL Header Version: OpenSSL 0.9.8o 01 Jun 2010
以下のストリームソケットトランスポートが登録されています。 tcp、udp、unix、udg、ssl、sslv3、sslv2、tls。
ポートはコンソールからのtelnetとして動作します。
何が間違っているか、少なくとも私はいくつかのデバッグ出力を得ることができますか?
おかげで、 マルクス
エラーログは、 '/ etc/php/apache2/php.ini'で有効になっていますか?エラーログには何が表示されますか? – Femi
はい、有効です。 Apacheのエラーログのエラーは次のとおりです。 [Fri Jul 15 15:50:07 2011] [エラー] [クライアント95.233.109.135] PHPの警告:fsockopen():tls://smtp.gmailに接続できません。 com:587(不明なエラー)/var/www/test.php 3行目 私はそれをテストしました。コマンドラインから "php test.php"を介してスクリプトを実行すると動作します。 –