向 iOS 测试设备发送推送通知时出现 PHP 错误
Posted
技术标签:
【中文标题】向 iOS 测试设备发送推送通知时出现 PHP 错误【英文标题】:PHP error when sending Push Notification to iOS test device 【发布时间】:2014-11-16 16:01:05 【问题描述】:我按照教程 (http://www.raywenderlich.com/32960/apple-push-notification-services-in-ios-6-tutorial-part-1#comments) 完成了所有配置文件和 iOS 代码。我将 ck.pem 和设备令牌正确复制到 php 文件中。但我得到了这个奇怪的错误:
➜ SimplePush php simplepush.php simplepush.php
PHP Warning: PHP Startup: pdo_pgsql: Unable to initialize module
Module compiled with module API=20100525
PHP compiled with module API=20121212
These options need to match
in Unknown on line 0
PHP Warning: PHP Startup: pgsql: Unable to initialize module
Module compiled with module API=20100525
PHP compiled with module API=20121212
These options need to match
in Unknown on line 0
Connected to APNS
Message successfully delivered
➜ SimplePush
显示连接正常,发送成功,但我的测试设备没有收到通知。我猜是关于“pdo_pgsql”和“pgsql”的错误。我只是在我的本地机器上测试它,与数据库无关。我不知道如何解决这个问题。任何帮助将不胜感激!
【问题讨论】:
【参考方案1】:这表示你需要用相同版本的PHP重新编译模块和PHP。您是否碰巧通过 brew 安装了其中一个?重建 PHP 和模块将允许您继续。
【讨论】:
感谢您的帮助!这正是我所做的。我重新安装了 PHP 和 pgsql,但我仍然没有摆脱警告。我这样做了:brew tap homebrew/dupes brew tap homebrew/versions brew tap homebrew/homebrew-php brew install php56 对吗?我跟着这个:justinhileman.info/article/reinstalling-php-on-mac-os-x 是的,应该已经这样做了 - 特别是如果您在 brew install 命令中使用了相同的 --with-pgsql 选项。也许问题不在于 php,而在于您的应用程序的配置设置。我写了一个类似的脚本,我记得当我在应用程序上线时使用开发证书的 PHP 脚本时发生了类似的问题。也许这里也发生过类似的河流交叉?还有其他可以测试的设备吗?您是否尝试过使用第三方推送提供程序,例如 Parse? 不知何故我让推送通知工作了。我想这可能是因为我打开了应用程序,所以没有弹出通知。所以现在我确定问题出在 PHP 方面。我仍然对如何重新编译 PHP 或模块感到困惑,因为我以前没有使用过 PHP。以下步骤是否正确? ➜ HW03 65brew uninstall php56 ➜ HW03 brew uninstall php56 错误:没有这样的小桶:/usr/local/Cellar/php56 ➜ HW03 brew cleanup 正在删除:/Library/Caches/Homebrew/php56-5.6.3... 正在删除:/Library/ Caches/Homebrew/xz-5.0.5.tar.gz... ➜ HW03 brew install php56 --with-pgsql 是的,这些是正确的步骤。如果应用程序已经打开,应用程序将不会显示推送通知,这也是正确的。我根本不相信有任何错误。快乐编码:) 但是当我在终端上运行php时,由于某种原因仍然出现错误?我不知道为什么。以上是关于向 iOS 测试设备发送推送通知时出现 PHP 错误的主要内容,如果未能解决你的问题,请参考以下文章
如何在不使用php循环的情况下同时向ios设备发送1000条推送通知
错误:向 Firebase 发送 ios 推送时出现 InvalidApnsCredential,添加了身份验证密钥和证书