php怎么找出错误,php引入第三方的SDK抛出异常了?
获取 SDK 有多种方式,较为推荐的方式是通过包依赖管理工具下载最新版本。
包依赖管理工具安装
composer
composer 是推荐的 PHP 包管理工具。安装 leancloud-sdk 只需执行以下命令:
composer require leancloud/leancloud-sdk
注意:
leancloud-sdk 依赖 PHP 的 curl 扩展(常见 Linux 系统下一般需要安装 php-curl 这个包)。
如果 composer 访问 packagist 仓库有问题,需要 设置镜像 或者通过代理(设置 http_proxy 环境变量)访问。
手动安装
下载 SDK 初始化
首先进入 控制台 > 设置 > 应用 Key 来获取 App ID,App Key 以及服务器地址。
然后导入 Client,并调用 initialize 方法进行初始化:
use \LeanCloud\Client;
// 参数依次为 App ID、App Key、Master Key
Client::initialize("{{appid}}", "{{appkey}}", "{{masterkey}}");
开启调试日志
在应用开发阶段,你可以选择开启 SDK 的调试日志(debug log)来方便追踪问题。调试日志开启后,SDK 会把网络请求、错误消息等信息输出到 IDE 的日志窗口,或是浏览器 Console 或是 LeanCloud 控制台的云引擎日志中。
// 放在 SDK 初始化语句 Client::initialize() 后面,只需要调用一次即可
Client::setDebug(true);
在应用发布之前,请关闭调试日志,以免暴露敏感数据。
验证
首先,确认本地网络环境是可以访问 LeanCloud 服务器的,可以执行以下命令:ping "API_BASE_URL"
API_BASE_URL 为绑定的 API 自定义域名。
如果当前网路正常将会得到如下响应:
PING api-ucloud.leancloud.cn (123.59.41.31): 56 data bytes
64 bytes from 123.59.41.31: icmp_seq=0 ttl=51 time=9.032 ms
64 bytes from 123.59.41.31: icmp_seq=1 ttl=51 time=7.290 ms
64 bytes from 123.59.41.31: icmp_seq=2 ttl=51 time=8.131 ms
64 bytes from 123.59.41.31: icmp_seq=3 ttl=51 time=9.689 ms
64 bytes from 123.59.41.31: icmp_seq=4 ttl=51 time=6.559 ms
64 bytes from 123.59.41.31: icmp_seq=5 ttl=51 time=8.665 ms
64 bytes from 123.59.41.31: icmp_seq=6 ttl=51 time=8.041 ms
64 bytes from 123.59.41.31: icmp_seq=7 ttl=51 time=8.203 ms
64 bytes from 123.59.41.31: icmp_seq=8 ttl=51 time=6.288 ms
64 bytes from 123.59.41.31: icmp_seq=9 ttl=51 time=7.938 ms
--api-ucloud.leancloud.cn ping statistics ---
10 packets transmitted, 10 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 6.288/7.984/9.689/0.997 ms
然后在项目中编写如下测试代码:
$testObject = new LeanObject("TestObject");
$testObject->set("words", "Hello world!");
try {$testObject->save();echo "保存成功。";} catch (Exception $ex) {echo "保存失败。";}
保存后运行程序。
然后打开 控制台 > 存储 > 数据 > TestObject,如果看到如下内容,说明 SDK 已经正确地执行了上述代码,安装完毕。
如果控制台没有发现对应的数据,请参考 问题排查。
问题排查
SDK 安装指南基于当前最新版本的 SDK 编写,所以排查问题前,请先检查下安装的 SDK 是不是最新版本。
401 Unauthorized
如果 SDK 抛出 401 异常或者查看本地网络访问日志存在:
{"code": 401,"error": "Unauthorized."}
则可认定为 App ID 或者 App Key 输入有误,或者是不匹配,很多开发者同时注册了多个应用,导致拷贝粘贴的时候,用 A 应用的 App ID 匹配 B 应用的 App Key,这样就会出现服务端鉴权失败的错误。
客户端无法访问网络
客3w户端尤其是手机端,应用在访问网络的时候需要申请一定的权限。
希望对你有所帮助!
函数名称命名错误的是?
在PHP中函数的命名需要遵循一定的规则,函数名称错误的是:2good
phpstorm运行php为什么出现502错误?
502 是服务器错误,那说明是你nginx 或者apache 配置不正确!
跟编辑器没有关系
003business?
错误提示是说这里不需要单引号,你图上看起来是双引号,你自己检查一下是否是两个单引号,如果是,请改为双引号就对了。