PHP试图获取非对象的属性 [英] PHP Trying to get property of non-object

查看:30
本文介绍了PHP试图获取非对象的属性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在运行一个 APNS PHP 脚本,它运行良好,但一个文件引发了 PHP 错误,我想知道我应该如何修复它.

I'm running an APNS PHP script and it's working fine but one file throws PHP errors and I want to know how I should fix it.

弹出以下错误:

/usr/bin/php -f /usr/share/nginx/www/processFeedback.php

<br/>Started processing FeedbackPHP Notice:  Trying to get property of non-object in /usr/share/nginx/www/processFeedback.php on line 46
PHP Warning:  stream_socket_client(): unable to connect to  (Failed to parse address "") in /usr/share/nginx/www/classes/Apns.php on line 66
PHP Notice:  Undefined variable: errstrn in /usr/share/nginx/www/classes/Apns.php on line 69
PHP Fatal error:  Uncaught exception 'Exception' with message '<br/>Failed to connect 0 ' in /usr/share/nginx/www/classes/Apns.php:69
Stack trace:
#0 /usr/share/nginx/www/classes/Apns.php(49): Apns->connect()
#1 /usr/share/nginx/www/processFeedback.php(46): Apns->__construct(NULL, 'certificates/ck...', 'passwd')
#2 {main}
  thrown in /usr/share/nginx/www/classes/Apns.php on line 69

第 46 行:

$apns = new apns($server->ServerUrl, $certificatePath, $certificate->Passphrase);

第 66 行:

$this->stream = stream_socket_client($this->server, $err, $errstr, 60, STREAM_CLIENT_CONNECT, $ctx);

第 69 行:

throw new Exception("<br/>Failed to connect $err $errstrn");

PHP 文件:https://github.com/bortuzar/PHP-Mysql---Apple-Push-Notification-Server/blob/master/processFeedback.php

DataService.php: https://github.com/bortuzar/PHP-Mysql---Apple-Push-Notification-Server/blob/master/classes/DataService.php

DataService.php: https://github.com/bortuzar/PHP-Mysql---Apple-Push-Notification-Server/blob/master/classes/DataService.php

APNS.php: https://github.com/bortuzar/PHP-Mysql---Apple-Push-Notification-Server/blob/master/classes/Apns.php

我不是 PHP 专家,所以我缺少什么?

I'm not a PHP expert so what am I missing?

推荐答案

刚刚在堆栈跟踪中发现了这个:

Just spotted this in the stack trace:

#1 /usr/share/nginx/www/processFeedback.php(46): Apns->__construct(NULL, 'certificates/ck...', 'passwd') .

这清楚地表明 $server 为 NULL.您希望 ServerUrl 是什么?也许您可以在相关行中将其作为字符串输入,如下所示:

This clearly shows that $server is NULL. What do you expect the ServerUrl to be? Maybe you could just enter that as a string in the line in question, like so:

$apns = new apns('myServerUrl', $certificatePath, $certificate->Passphrase)

这篇关于PHP试图获取非对象的属性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆