Stream_socket_client 无法连接到 Apple APNS(权限被拒绝)

2024-02-09

我遇到过通过 php 发送推送通知的罕见情况,但我无法弄清楚。我有一个简单的 php 脚本,可以发送如下所示的通知。如果我通过命令行 php script.php 执行此文件,它就可以正常工作。如果我通过网络执行http://domain.com/script.php http://domain.com/script.php它给了我一个权限被拒绝的错误。我有正确的证书路径,而不是证书的密码。有任何想法吗?

警告:stream_socket_client():无法连接到 ssl://gateway.push.apple.com:2195(权限被拒绝)

    ...............

    $apns = connect_apns('gateway.push.apple.com', '2195');
    $write = send_payload($apns, $deviceToken, $payload);
    fclose($apns);
    }

    function connect_apns($apnsHost, $apnsPort) {
    $streamContext = stream_context_create();
    stream_context_set_option($streamContext, 'ssl', 'local_cert', 'cert.pem');
    return stream_socket_client('ssl://' . $apnsHost . ':' . $apnsPort, $error, $errorString, 60, STREAM_CLIENT_CONNECT, $streamContext);
    }

    function send_payload($handle, $deviceToken, $payload) {
    $apnsMessage = chr(0) . chr(0) . chr(32) . pack('H*', str_replace(' ', '', $deviceToken)) . chr(0) . chr(strlen($payload)) . $payload;
    return fwrite($handle, $apnsMessage);
    }

因此,在花了很多时间查看此内容后,我注意到我启用了 Selinux。如果你想保持它启用,你需要通过发出以下命令将属性httpd_can_network_connect设置为true:setsebool -P httpd_can_network_connect 1。否则只需通过转到vim /etc/selinux/config并设置SELINUX=disabled来禁用selinux。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Stream_socket_client 无法连接到 Apple APNS(权限被拒绝) 的相关文章

  • 从 PHP 数组生成 HTML 表

    我不明白这一点 我需要解决看似简单的问题 但这超出了我的逻辑 我需要编写一个函数 table columns input cols 它将输出一个表 示例 input array apple orange monkey potato chee
  • php curl 使用 GET 发送变量 奇怪的结果

    我正在尝试调用远程站点上页面中的网址 决定使用curl 在远程站点上 url 变量显示为 REQUEST Array var1 gt val1 amp var2 gt val2 amp var3 gt val3 被调用的url是 http
  • setcookie with expire=0 浏览器关闭后不会过期

    我使用setcookie来制作一个过期 0的cookie 从 PHP 文档来看 link http php net manual en function setcookie php cookie 过期的时间 这是一个 Unix 时间戳 所以
  • 图像随机损坏(但刷新后加载)并显示“资源解释为图像但使用 MIME 类型 text/html 传输”

    我目前正在开发一个简单的 php 网站 问题是 我的整个网站中的图像 发生在所有 php 文件中 随机损坏并显示错误资源解释为图像 但以 MIME 类型 text html 传输但是 如果我尝试多次刷新页面 可以再次加载图像并且错误消失 我
  • 是否可以将路由参数传递给 Laravel 中的控制器构造函数?

    是否可以将路由参数 或路由段 注入到控制器构造函数中 您找到一些代码来澄清我的问题 class TestController protected param public function construct paramFromRoute
  • PHP:读取所有传入 HTTP 请求的类 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • CakePHP 视图包括其他视图

    我有一个 CakePHP 应用程序 在某些时候会显示带有产品媒体 图片或视频 的视图 我想知道是否有某种方式可以包含另一个威胁视频或威胁图片的视图 具体取决于标志 我想将这些 小视图 用于其他几个目的 所以它应该 像 蛋糕组件一样 以便重用
  • 如何在 GitHub Action 中使用不同版本的 PHP 进行测试

    我有一些 PHP 代码 其中包含使用以下命令运行的测试PHPUnit并想对其进行测试GitHub Actions 我在他们的文档中找不到测试 PHP 包的方法 我想使用不同版本的 PHP 进行测试 但他们只有最新的版本7 3安装 您可以添加
  • 使用 PHP/linux 将文件合并为单个 PDF

    我正在研究如何将多个 PDF 合并为一个 PDF 我正在寻找一个图书馆可靠且坚固尽可能 最好有一个库可以保留书签 鬼脚本 http pages cs wisc edu ghost 可以在保存书签的位置进行连接 但我遇到了麻烦 在一种情况下它
  • 如何将表中不存在但原始SQL中存在的实体字段设置为别名?

    假设我们有一个这样的查询 SELECT CUSTOM EXPRESSION as virtualfield FROM users 用户的实体本身具有 虚拟字段 但映射注释没有 因为表没有该字段 假设它作为原始 SQL 执行 我们如何使用上面
  • 覆盖 FOS 用户包中的“更改密码”模板

    我做了一些研究 遗憾的是找不到任何帮助 因此 我将 FOSUserBundle ChangePasswordAction 渲染到我的模板中 但它显示供应商提供的默认模板 我的渲染控制器的模板 block body h2 Einstellun
  • 使用值填充的 Symfony2 自定义字段类型

    这是先前问题的后续问题Symfony2 自定义表单类型或扩展 https stackoverflow com questions 24079288 symfony2 custom form type or extension 我正在尝试为订
  • Facebook PHP-SDK 页面刷新后似乎丢失了 userID

    我似乎登录工作正常 我可以登录 接受应用程序 第一次 然后显示用户信息 例如姓名 图片 等 然而 当我刷新页面时 userid 又回到 0 我必须再次登录 我不确定问题是什么 我必须在每次页面加载时重新启动它还是什么 我不知道 我会发布一些
  • Facebook API sdk 4.0 - 将照片发布到 Facebook

    我正在尝试创建一个应用程序 用户可以在其中浏览照片并将其从计算机提交到 Facebook 为此 他们首先必须将照片上传到服务器 然后使用 Facebook 请求将此图像发布到 Facebook 我正在使用多部分 表单数据 这就是我到目前为止
  • 如何在 Windows 上安装 Zend 框架

    安装 Zend Framework 就是这么简单 是的 对 好吧 我正在写一本初学者的书 有一件不太详细的事情是最重要的部分 安装该死的东西 浏览了几个小时的快速入门指南后 它只说 下载 Zend 添加包含目录 bla bla 然后就完成了
  • 一次从多个表中删除行

    我正在尝试将 2 个查询合并为一个这样的查询 result db gt query DELETE FROM menu WHERE name new or die db gt error result db gt query DELETE F
  • 使用PHP从doc、xls文件中读取数据

    我想知道是否可以从 doc 和 xls 文件中读取数据并将 将内容读取到图像文件中 创建文档的页面样本 例如 我有一些文件希望我的客户购买 所以我需要自动创建小图像 例如我的文档样本 我们将不胜感激您的帮助 对于读取 xls 文件 我真的推
  • Jquery一键提交多个同名表单

    我有动态创建的循环表单 我需要一键提交所有表单 我正在遵循下面的代码 你能建议我怎么做吗 谢谢
  • PHP 拒绝从 var_dump、print 等输出数据

    我目前正在运行 WAMP 服务器 并且在过去的 30 分钟内一直在尝试弄清楚我的项目如何以及为什么不会输出任何指定的 PHP 数据 起初我以为是因为我有一个 htaccess文件的output buffering被禁用 所以我删除了它 仍然
  • 向现有 TCP 和 UDP 代码添加 SSL 支持?

    这是我的问题 现在我有一个 Linux 服务器应用程序 使用 C gcc 编写 它与 Windows C 客户端应用程序 Visual Studio 9 Qt 4 5 进行通信 是什么very在不完全破坏现有协议的情况下向双方添加 SSL

随机推荐

  • 如何使用 Artifactory 查询语言查找最新的工件版本?

    到目前为止 我使用 Artifactory REST API 来确定 Maven 工件的最后一个版本 最后一个快照 groupId and artifactIid api search latestVersion g groupid a a
  • 无法加载此类文件 -- capistrano/setup (LoadError)

    我正在关注https gorails com deploy ubuntu 16 04 https gorails com deploy ubuntu 16 04 最初我有一个版本的 capistrano 3 8 1 我的问题最初是 nico
  • 为什么在 Win 64 上安装 Number::Format 失败?

    我正在尝试安装Number Format https metacpan org pod Number Format在 Windows 上与 Padre 一起使用 cpanm Number Format 我收到以下错误 我怎样才能解决这个问题
  • 使用 .NET 生成具有给定扩展名的唯一临时文件名[重复]

    这个问题在这里已经有答案了 可能的重复 如何使用 net 创建具有特定扩展名的临时文件 https stackoverflow com questions 581570 how can i create a temp file with a
  • 扫描仪NoSuchElementException

    我编写了一个程序 要求输入 3 个整数来输出三角形类型 一切都运行并编译成功 但是 似乎在要求用户查看是否要再次循环的部分 在线编译器输出错误 线程 main 中的异常 java util NoSuchElementException 在
  • Travis ci 上的 Python3 模块导入失败

    我制作了一个 Python 3 脚本来测试我的项目 剧本 https github com anestv server test有这样的结构 main py myRequest py external requests init py ma
  • Android 检查 EditText 中的空格

    我在 Android 中编辑文本时遇到问题 我有一个名为 Username 的字段 我希望每当有人写一个带有空格的用户名时 例如 Gaurav Arora 然后 在按下登录按钮时 它应该引发一个祝酒词或错误 我这样做了 我只是在文本观察器的
  • Android 如何从 SharedPreference 设置 EditTextPreference 的默认值?

    这次在同一个项目中 我面临一个稍微具有挑战性的问题 在 res xml 文件夹中的 settings xml 文件中
  • 从文件中删除扩展名[重复]

    这个问题在这里已经有答案了 可能的重复 如何从字符串中删除扩展名 只有真正的扩展名 https stackoverflow com questions 2395882 how remove extension from string onl
  • Play框架和OSGI

    是否可以将 Play 框架与 OSGI 集成以创建可插入组件 有人尝试过吗 如果您的意思是 使用 OSGi 创建 Play 模块 那么不 不支持它 如果您的意思是 将 Play 部署为 OSGi 模块 那么不 不支持它 公平地说 没有理由推
  • Ajax 加载后 AddThis 不起作用

    我有 AddThis js 用于将详细信息添加到日历的书签 这在页面加载时工作正常 但我使用 ajax 加载并替换 html 进行了一些过滤 之后 AddThis 按钮不显示 这是我的 ajax 代码 document ready func
  • 如何使用 jQuery 添加 DOM 元素?

    我有一个当前用来显示隐藏 div type 的函数 我怎样才能修改这段代码 而不是在隐藏的div中淡出 我可以将新的 div 添加到 DOM jQuery function Add Answer jQuery add answer clic
  • 将文本显示到另一个类的标签 - JFrame

    我有一个 GUI 屏幕 里面有一个标签 我现在想用文本设置标签 如下所示 Test 但它没有得到更新 我认为以下代码中有错误 我在 try 块中重新创建了 FrameTest 的新对象 FrameTest frame new FrameTe
  • 如何让puppeteer通过socks5代理工作?

    我购买了socsk5的代理服务器版本 所有手册中都有相同的示例 const browser await puppeteer launch headless true ignoreHTTPSErrors true defaultViewpor
  • 更改 Qt5 中 QGraphicsScene/View 中的像素图位置

    我有一个普通的 QGraphicsView QGraphicsScene 我想要做的就是将 QPixmap png 加载到图形并手动设置该 QPixmap 图像的位置 我找到了解决方案 但它们不适用于 Qt5 关于如何在 Qt5 上实现这一
  • ionic externalRootDirectory 无法写入 SD 卡

    我一直在尝试使用 IONIC 中的 cordova plugin file 插件写入 Android 设备上的 可移动 SD 卡 但没有成功 该文档指定了 externalRootDirectory 为 Android 外部存储 SD 卡
  • 无法建立 SSL 连接

    我正在使用第三方库 Splunk C SDK http dev splunk com csharp 在我的 ASP NET Core 应用程序中 我尝试通过此 SDK 连接到我的本地主机 Splunk 服务 但出现异常 System Net
  • ASP.NET - Ajax 控件工具包 - TabContainer 始终隐藏

    我使用以下代码将 TabContainer 添加到页面
  • SonarQube 测试覆盖 .NET 5

    我想在本地 SonarQube 实例 在 Windows 上 中显示 NET 5 单元测试的测试覆盖率 dotnet sonarscanner begin k MyProject d sonar host url http localhos
  • Stream_socket_client 无法连接到 Apple APNS(权限被拒绝)

    我遇到过通过 php 发送推送通知的罕见情况 但我无法弄清楚 我有一个简单的 php 脚本 可以发送如下所示的通知 如果我通过命令行 php script php 执行此文件 它就可以正常工作 如果我通过网络执行http domain co