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户端尤其是手机端,应用在访问网络的时候需要申请一定的权限。
希望对你有所帮助!
服务器怎么搭建?
你是要搭什么服务器?这里分享个linux的web服务器搭建,大概步骤就是下载服务器软件,安装-----启动服务器,修改配置文件-----修改相关路径-----定义服务器属性---测试,收工,
Nginx web服务器
1、下载nginx
命令:wget http://nginx.org/download/nginx-0.8.54.tar.gz
2、解压
命令:tar zxvf nginx-0.8.54.tar.gz
3、进入目录
命令:cd nginx-0.8.54
4、安装依赖包
命令:yum -y install gcc pcre-devel openssl openssl-devel (没有网络可在centos中找相关rpm)
5、执行 ./configure
命令:./configure
6、继续安装
命令:
make
和
make install
7、启动nginx服务
命令:/usr/local/nginx/sbin/nginx
8、重启nginx服务
命令:/usr/local/nginx/sbin/nginx -s reload
9、修改站点的配置文件
命令:vi /usr/local/nginx/conf/nginx.conf
10、多站点设置
⑴、在 /usr/local/nginx/conf/ 下创建 vhost 目录
命令:mkdir /usr/local/nginx/conf/vhost
⑵、在 /usr/local/nginx/conf/vhost 里创建一个名字为 linlik.conf 的文件,把站点配置文件写入(请查看最下面的站点内容)
命令:vi /usr/local/nginx/conf/vhost/linlik.conf
⑶、打开 /usr/local/nginx/conf/nginx.conf 文件,在相应位置加入 include 把以上2个文件包含进来
在页尾后括号上面加入一句:include vhost/*.conf; 然后保存退出并重启nginx服务
11、多站点的站点配置文档内容
如下:
server
{
listen 80;
#listen [::]:80;
server_name jiahaolin.com www.111cn.net;
index index.html index.htm index.php default.html default.htm default.php;
root /www/jiahaolin;
include emlog.conf;
#error_page 404 /404.html;
location ~ [^/]\.php(/|$)
{
# comment try_files $uri =404; to enable pathinfo
try_files $uri =404;
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
include fastcgi.conf;
#include pathinfo.conf;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 12h;
}
access_log /home/wwwlogs/jiahaolin.com.log access;
}
NGINX下如何自定义404页面
IIS和APACHE下自定义404页面的经验介绍文章已经非常多了,NGINX的目前还比较少,为了解决自家的问题特地对此作了深入的研究。研究结果表明,NGINX下配置自定义的404页面是可行的,而且很简单,只需如下几步:
1.创建自己的404.html页面
2.更改nginx.conf在http定义区域加入: fastcgi_intercept_errors on;
3.更改nginx.conf(或单独网站配置文件,例如在nginx -> sites-enabled下的站点配置文件 )
中在server 区域加入: error_page 404 /404.html 或者 error_page 404 =http://www.xxx.com/404.html
4.更改后重启nginx,,测试nginx.conf正确性: /opt/nginx/sbin/nginx –t
#502 等错误可以用同样的方法来配置。
error_page 500 502 503 504 /50x.html;
注意事项:
1.必须要添加:fastcgi_intercept_errors on; 如果这个选项没有设置,即使创建了404.html和配置了error_page也没有效果。fastcgi_intercept_errors 语法: fastcgi_intercept_errors on|off 默认: fastcgi_intercept_errors off 添加位置: http, server, location 默认情况下,nginx不支持自定义404错误页面,只有这个指令被设置为on,nginx才支持将404错误重定向。这里需要注意的是,并不是说设置了fastcgi_intercept_errors on,nginx就会将404错误重定向。在nginx中404错误重定向生效的前提是设置了fastcgi_intercept_errors on,并且正确的设置了error_page这个选项(包括语法和对应的404页面)
2.不要出于省事或者提高首页权重的目的将首页指定为404错误页面,也不要用其它方法跳转到首页。
3.自定义的404页面必须大于512字节,否则可能会出现IE默认的404页面。例如,假设自定义了404.html,大小只有11个字节(内容为:404错误)。
Nginx 配置安装以及一些常遇到的错误
nginx 编译安装 一、安装nginx时必须先安装相应的编译工具
yum -y install gcc gcc-c++ autoconf automake
yum -y install zlib zlib-devel openssl openssl-devel pcre-devel
建立nginx 组
groupadd -r nginx
useradd -s /sbin/nologin -g nginx -r nginx
id nginx
zlib:nginx提供gzip模块,需要zlib库支持
openssl:nginx提供ssl功能
pcre:支持地址重写rewrite功能
Nginx 官网下载地址: http://nginx.org/ 最新版 http://nginx.org/download/nginx-1.5.2.tar.gz
二、tar -zxvf nginx-1.2.8.tar.gz
三、cd nginx-1.2.8
配置
四、./configure \
--prefix=/usr \
--sbin-path=/usr/sbin/nginx \
--conf-path=/etc/nginx/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--pid-path=/var/run/nginx/nginx.pid \
--user=nginx \
--group=nginx \
--with-http_ssl_module \
--with-http_flv_module \
--with-http_gzip_static_module \
--http-log-path=/var/log/nginx/access.log \
--http-client-body-temp-path=/var/tmp/nginx/client \
--http-proxy-temp-path=/var/tmp/nginx/proxy \
--http-fastcgi-temp-path=/var/tmp/nginx/fcgi \
--with-http_stub_status_module
或者使用默认的 直接 ./configure
编译并且安装
五、make && make install
编译完成后 make install 进行安装 安转后就大功告成拉
小结:centos没有安装make编译器
解决:yum -y install gcc automake autoconf libtool make
重启动命令 /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf 更多参考 nginx --help
nginx 的配置以及常见小问题 如下:
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) 错误解决
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] still could not bind()
问题描述:地址已被使用。可能nginx服务卡死了,导致端口占用,出现此错误。
解决方法:首先用lsof:80看下80端口被什么程序占用。lsof返回结果如下:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 3274 root 6u IPv4 10664 0t0 TCP *:http (LISTEN)
nginx 3547 nginx 6u IPv4 10664 0t0 TCP *:http (LISTEN)
发现是nginx程序,所以我们把nginx服务k掉,重新启动服务。。命令如下:
kill -9 3274
kill -9 3547
或者 killall -9 nginx
从新载入配置文件启动 /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
启动成功了但是发现一个错误信息
[warn]: 51200 worker_connections are more than open file resource limit: 51200
虽然不是致命的问题 不影响nginx运行 但是看起来很烦人 我们来解决一下
nginx.conf 配置问题
events {
use epoll;
worker_connections 51200; // 这里出的问题
}
问题原因是 Linux的最大文件数限制。修改Linux 文件数限制 ulimit -n 51200
[root@localhost ~]# ulimit -n
[root@localhost ~]#
接下来从新载入配置文件重启动Ok了....
nginx error_log 错误日志配置说明
nginx的error_log类型如下(从左到右:debug最详细 crit最少):
[ debug | info | notice | warn | error | crit ]
例如:error_log logs/nginx_error.log crit;
解释:日志文件存储在nginx安装目录下的 logs/nginx_error.log ,错误类型为 crit ,也就是记录最少错误信息;
注意error_log off并不能关闭日志记录功能,它将日志文件写入一个文件名为off的文件中,如果你想关闭错误日志记录功能,应使用以下配置:
error_log /dev/null crit;
把存储位置设置到Linux的黑洞中去
同样注意0.7.53版本,nginx在读取配置文件指定的错误日志路径前将使用编译的默认日志位置,如果运行nginx的用户对该位置没有写入权限,nginx将输出如下错误:
[alert]: could not open error log file: open() "/var/log/nginx/error.log" failed (13: Permission denied) log_not_found 语法:log_not_found on | off
默认值:on
使用字段:location
这个参数指定了是否记录客户端的请求出现404错误的日志,通常用于不存在的robots.txt和favicon.ico文件,例如: location = /robots.txt { log_not_found off; }
最后:所有nginx配置发生改变时,最好都使用如下命令测试配置是否错误后再使用 -s reload 重载
# /usr/local/nginx/sbin/nginx –t
说明:
1、# 代表root权限,不用输入
2、以上是nginx的默认安装路径,如果改变了要相应的修改哦,例如 wdcp 的 lanmp 一键安装包 则如需要用如下命令
# /www/wdlinux/nginx/sbin/nginx -s reload
输入后如果提示如下,则表示配置无误:
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
这时再使用重载命令让Nginx平滑的重新加载配置即可,而不会影响正常访问:
# /usr/local/nginx/sbin/nginx -s reload
你手机里有哪些堪称神器的App?
1.日程管理:时光序
支持根据“艾宾浩斯遗忘曲线”设置日程,被家长、学生誉为辅助学习超级功能。
学习某个知识点后,可自动按照1天、2天、4天、7天、15天的规律生成日程,然后再桌面日期界面显示。
科学学习=科学理论+高效工具+实践
桌面的日期插件支持透明化及颜色设置,支持显示文字提醒(不同颜色)
桌面插件支持经典重要/紧急四象限(深色配置,高级感):
而这几个,只是众多黑科技中的一小部分:
读书、记账、日记、课程表、生理期、事项、打开、专注.......
你要的它都有,没有都是精品。
而且,它还在进化。。。。。
2.免费的语音转文字:笛云听写语音转文字免费的软件并不多,笛云听写算一个,得到了众多大神推荐的超级小众软件:
每天十个小时免费转写时长:
支持多端同步:
深得网友喜爱:
而且,效果也很好:
(免费的不支持实时语音转写,拉轰目前选择:考拉语音转文字)
3.图片文字识别:全能宝扫描君好不好用,实践是最好的测试(这是一张打印的表格,并非规整)
识别效果,几乎完美还原:
一键导出到excel:
而这仅仅是它的一部分功能:
最关键的推荐理由:
和它同样级别的软件,需要的RM远远超过它。
4,超级文科软件:全世界这可能会成为你手机上最酷炫的软件,没有之一。推荐给任何一位朋友,都不会掉价。
时空柱,妥妥的科技感
关系图:一目了然
时空地图:历史+地理
而这,只是冰山一角。
5.有没有一款软件公认为神器:一个木函真的有一个超级app各种工具功能都有:
其他:免费看NBA等体育赛事:河豚直播、蓝鲸体育
超级软件,拉轰推荐
拉轰出品,必属精品
Linux操作系统的优势是什么?
Linux 系统是开源系统,受到所有开发者的共同监督,已经是非常成熟的系统,并且拥有一套完整的权限机制,安全性和稳定性都比较高,对硬件的要求低。
1、免费开源。Linux是一款完全免费的操作系统,任何人都可以从网络上下载到它的源代码,并可以根据自己的需求进行定制化的开发,而且没有版权限制。
2、模块化程度高。Linux的内核设计分成进程管理、内存管理、进程间通信、虚拟文件系统、网络5部分,其采用的模块机制使得用户可以根据实际需要,在内核中插入或移走模块,这使得内核可以被高度的剪裁定制,以方便在不同的场景下使用。
3、Linux系统广泛的硬件支持。得益于其免费开源的特点,有大批程序员不断地向Linux社区提供代码,使得Linux有着异常丰富的设备驱动资源,对主流硬件的支持极好,而且几乎能运行在所有流行的处理器上。
4、安全稳定。Linux采取了很多安全技术措施,包括读写权限控制、带保护的子系统、审计跟踪、核心授权等,这为网络环境中的用户提供了安全保障。实际上有很多运行Linux的服务器可以持续运行长达数年而无须重启,依然可以性能良好地提供服务,其安全稳定性已经在各个领域得到了广泛的证实。
5、多用户,多任务。多用户是指系统资源可以同时被不同的用户使用,每个用户对自己的资源有特定的权限,互不影响。多任务是现代化计算机的主要特点,指的是计算机能同时运行多个程序,且程序之间彼此独立,Linux内核负责调度每个进程,使之平等地访问处理器。由于CPU处理速度极快,从用户的角度来看所有的进程好像在并行运行。
6、良好的可移植性。Linux中95%以上的代码都是用C语言编写的,由于C语言是一种机器无关的高级语言,是可移植的,因此Linux系统也是可移植的。
有哪些比较冷门的实用网站?
前言
本答案持续更新,如果我的分享给您的生活带来了便捷,欢迎点赞、关注、收藏、评论、转发,这将是我持续更新的动力!
更多软件/教程可以关注蛋叔公众号:蛋叔APP
1、suo说明:很多时候我们分享一些东西的时候会包含链接,但过长的链接很影响我们的阅读体验,所以通常的做法会通过短网址网站来进行网址缩短。suo应该算作此类网站的后起之秀了,支持批量缩短网址而且速度非常快。当然,同类的比较知名的还有百度和新浪的缩短网址,这里也给大家贴一下链接。
suo网址:http://suo.im/
百度网址:http://dwz.cn/
新浪网址:http://sina.lt/
2、PickFrom说明:PickFrom 提供在线无水印下载视频图片的免费服务,通过PickFrom您可以将您喜爱的视频保存到本地或手机上,包括但不限于抖音,腾讯,微博,快手,Instagram,Youtube,火山小视频,知乎,场库,iwara,西瓜视频等主流网站。当然同类比较知名的还有iiilab解析。
网址:https://zh.pickfrom.net/
网址:http://momo.iiilab.com/
3、NiceTool说明:NiceTool.net 好工具网是一个高质量的工具集合网站, 收集和打造了很多包括生活常用、教育学习、图片视频、程序开发等分类下的众多简单易用的在线实用工具。
网址:http://www.nicetool.net/
4、优品PPT说明:一家专注于分享高质量的免费PPT模板下载网站。包括PPT图表、PPT背景图片、PPT素材、PPT教程等各类PPT资源。致力于打造国内最大最权威的PPT下载一站式服务平台。
网址:http://www.ypppt.com/
5、zd423说明:一个手机和电脑软件下载网站,主要分享热门的PC软件资源与安卓软件应用,致力于免费提供优质的原创去广告绿色软件、常用的pj优化软件。
网址:http://www.zdfans.com/
6、字由说明:设计师必备字体利器。截止目前,已涵盖1914款字体、50个字体合集、1364幅案例、459篇字体文章为您参考,同时提供客户端下载,您可以通过搜索、标签、收藏等快速找到心仪的字体。
网址:http://www.hellofont.cn/
7、5i福利工具说明:5i分享网下的福利集合网站,聚合了如VIP视频解析、全网音乐等众多实用有趣的功能。
网址:http://www.5ifxw.com/fuli/
8、ProcessOn说明:ProcessOn一个在线作图工具的聚合平台,它可以在线画流程图、思维导图、UI原型图、UML、网络拓扑图、组织结构图等等,您无需担心下载和更新的问题,不管是Mac还是Windows,一个浏览器就可以随时随地的发挥创意,规划工作。
网址:https://www.processon.com/
9、文图说明:一款在线编辑、即时生成报告的轻量级数据可视化工具。文图提供丰富的配色方案和专业的数据呈现模板,可以快速在线完成数据管理、报告制作、排版发布以及分享传播的整个流程,让数据可视化、业务报表和分析报告变得更简单。
网址:https://www.wentu.io/
10、xclient说明:专注与分享mac应用,每天都有更新,还可以下到某个软件的之前迭代版本,网站体验非常不错。
网址:http://xclient.info
11、ALL TO ALL说明:在线格式转换网站,一个很全的在线转换文件的网站。视频,音频,文档,电子书,图片,支持上百种格式的文件,免费使用,总能够满足你的需求。
网址:http://www.alltoall.net/
12、啊噗猫追番说明: 超多动漫、新番,剧场版观看,追番补番都是不错的选择。
网址:http://anime.upupoo.com
更多黑科技应用/优质网址/实用教程/福利资讯请关注公众号:蛋叔APP
觉得不错的赶紧收藏、关注下,别忘了点个赞呦^_^