EC2のUbuntuのPHPからiPhoneにリモート通知を送ろうとしているのですが、
//ターミナル root@xxx:/var/www/html# php test.php ?@@.{"reason":"BadCertificateEnvironment"}bool(true) int(0)
と出て、送ることが出来ません。認証できない環境?なので、PHPではなく、pemファイルが原因かなと思っています。
しかし、作り直してもエラーだったので、自信がなくなりました。
もし、やはりpemファイルが悪そうだ、ということであれば、参考になるサイトのURLを頂ければうれしいです。
pemファイル以外に原因があるかもしれない、ということも教えて頂けるとうれしいです。
よろしくお願いします。
以下はtest.php
php
1<?php 2 if(defined('CURL_HTTP_VERSION_2_0')){ 3 $pem_file = '/production.pem';//ペムファイル 4 $apns_topic = ‘com.twitter.XXX.XXX';//'your apns topic. Can be your app bundle ID'; 5 6 $alert = '{"aps": {"alert": {"title": "タイトルテスト","subtitle": "subtitile","body": "リリース"},"badge": 1,"mutable-content": 1},”image_url"; "http://is2.mzstatic.com/image/thumb/Purple122/v4/a9/b2/dd/a9b2dd1f-f8e5-7ce3-2014-62bf78f4ae56/source/60x60bb.jpg"}’;// 適当な画像url 7 8 $url = "https://api.push.apple.com/3/device/tokenhogehogexxxxxxxxxxxxxxxxxxxxxxx"; 9 10 $ch = curl_init($url); 11 curl_setopt($ch, CURLOPT_POSTFIELDS, $alert); 12 curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_2_0); 13 curl_setopt($ch, CURLOPT_HTTPHEADER, array("apns-topic: $apns_topic")); 14 curl_setopt($ch, CURLOPT_SSLCERT, $pem_file); 15 // curl_setopt($ch, CURLOPT_SSLCERTPASSWD, $pem_secret); // パスワードを設定している場合は必要 16 $response = curl_exec($ch); 17 $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE); 18 19 var_dump($response);// 結果を表示 20 var_dump($httpcode); 21 } 22?>
あなたの回答
tips
プレビュー