我已经使用composer在本地机器的以下位置安装了php-pushwoosh:
/var/www/gomoob-php-pushwoosh
现在我想通过PHP代码发送推送通知到iPhone。所以,我自己尝试并在一个名为sample.php
的文件中编写PHP代码,该文件位于/var/www/gomoob-php-pushwoosh/sample.php
。以下是sample.php
代码参考链接:你可以在这里获得代码参考
php- pushsh安装参考链接:php- pushsh安装参考链接
<?php
ini_set('display_startup_errors',1);
ini_set('display_errors',1);
error_reporting(-1);
require __DIR__.'/vendor/autoload.php';
define('PW_AUTH', 'API TOKEN');
define('PW_APPLICATION', 'APPLICATION CODE');
define('PW_DEBUG', true);
function pwCall($method, $data) {
$url = 'https://cp.pushwoosh.com/json/1.3/' . $method;
$request = json_encode(['request' = $data]);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_ENCODING, 'gzip, deflate');
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $request);
$response = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
if (defined('PW_DEBUG') && PW_DEBUG) {
print "[PW] request: $requestn";
print "[PW] response: $responsen";
print "[PW] info: " . print_r($info, true);
}
}
pwCall('createMessage', array(
'application' => PW_APPLICATION,
'auth' => PW_AUTH,
'notifications' => array(
array(
'send_date' => 'now',
'content' => 'test',
'data' => array('custom' => 'json data'),
'link' => 'http://pushwoosh.com/'
)
)
)
);
?>
通过点击URL localhost/gomoob-php-pushwoosh/sample.php
执行此代码进入浏览器后,我只得到空白页,没有错误,没有警告,没有通知。
为什么?有人能请纠正我的错误,我的代码给适当的解释,使我的代码可行吗?
如果您需要任何关于我所面临的问题的进一步信息,请告诉我。
如果您有任何建议、评论、回答、批评等,欢迎您的加入。如能提供任何帮助,我将不胜感激。
谢谢。
在这一行:
$request = json_encode(['request' = $data]);
^
显然应该是:
$request = json_encode(['request' => $data]);
您没有看到任何通知,因为必须在脚本之外设置display_errors
设置以捕获解析错误,例如: