PHP5.6でのstream_socket_clientについて
お世話になっております。
今回PHP5.4から5.6に上げたのですが、
クライアント実行のPHPからAPNsへ繋がらなくなりました。
Webブラウザからアクセスすると動作するのでクライアント実行で引っかかっているものと考えております。
最終的にクライアント実行で実行し、ウェブルートからアクセスできない場所に移動する予定です。
下記に接続に使用したコードを添付します。
どうぞ、よろしくお願いいたします。
/**
* PHP5.4:Web&Cliの両接続成功
* PHP5.6:Web成功、Cli失敗
**/
//証明書(pem)のパスと暗号化キー
$pem_path = './APNs.pem';
$pem_pass = '********************';
//APNsサーバの指定
$apns_serv = 'ssl://gateway.sandbox.push.apple.com:2195';
//証明書をセット
$context = stream_context_create();
stream_context_set_option($context, 'ssl', 'local_cert', $pem_path);
stream_context_set_option($context, 'ssl', 'passphrase', $pem_pass);
$fp = stream_socket_client(
$apns_serv, //ソケット送信先
$err, //接続失敗時のエラー番号
$errstr, //接続失敗時のエラーメッセージ
60, //タイムアウト(秒)
STREAM_CLIENT_CONNECT|STREAM_CLIENT_PERSISTENT, //接続設定のフラグ
$context //コンテキストリソース
);
//接続失敗
if(!$fp){ die(); }
追記
上記コードを実行した際に返却されるエラー番号は"0"でした。
ソケットの初期化に失敗したようなのですが、原因が分かりません……。