好得很程序员自学网
  • 首页
  • 后端语言
    • C#
    • PHP
    • Python
    • java
    • Golang
    • ASP.NET
  • 前端开发
    • Angular
    • react框架
    • LayUi开发
    • javascript
    • HTML与HTML5
    • CSS与CSS3
    • jQuery
    • Bootstrap
    • NodeJS
    • Vue与小程序技术
    • Photoshop
  • 数据库技术
    • MSSQL
    • MYSQL
    • Redis
    • MongoDB
    • Oracle
    • PostgreSQL
    • Sqlite
    • 数据库基础
    • 数据库排错
  • CMS系统
    • HDHCMS
    • WordPress
    • Dedecms
    • PhpCms
    • 帝国CMS
    • ThinkPHP
    • Discuz
    • ZBlog
    • ECSHOP
  • 高手进阶
    • Android技术
    • 正则表达式
    • 数据结构与算法
  • 系统运维
    • Windows
    • apache
    • 服务器排错
    • 网站安全
    • nginx
    • linux系统
    • MacOS
  • 学习教程
    • 前端脚本教程
    • HTML与CSS 教程
    • 脚本语言教程
    • 数据库教程
    • 应用系统教程
  • 新技术
  • 编程导航
    • 区块链
    • IT资讯
    • 设计灵感
    • 建站资源
    • 开发团队
    • 程序社区
    • 图标图库
    • 图形动效
    • IDE环境
    • 在线工具
    • 调试测试
    • Node开发
    • 游戏框架
    • CSS库
    • Jquery插件
    • Js插件
    • Web框架
    • 移动端框架
    • 模块管理
    • 开发社区
    • 在线课堂
    • 框架类库
    • 项目托管
    • 云服务

当前位置:首页>后端语言>PHP
<tfoot draggable='sEl'></tfoot>

php错误日志等级 thinkphp错误日志目录

很多站长朋友们都不太清楚php错误日志等级,今天小编就来给大家整理php错误日志等级,希望对各位有所帮助,具体内容如下:

本文目录一览: 1、 如何在php.ini配置文件中把error_reporting = E_ALL & ~E_NOTICE屏蔽掉, 2、 php中,error_reporting(E_ALL || ~E_NOTICE)是何意? 3、 如何有效的屏蔽掉PHP警告和错误提示 4、 PHP的错误日志文件“php_error_log”可以直接删除么? 5、 怎么让php打印错误日志? 6、 php进程超时接口返回504错误分析 如何在php.ini配置文件中把error_reporting = E_ALL & ~E_NOTICE屏蔽掉,

在你的php.ini文件中 找到有error_reporting=。。。的这一行

如果这一行第一个字符是#那么去掉#

然后修改成

error_reporting= E_ALL ~E_NOTIC

没找到的话就添加一行

php中,error_reporting(E_ALL || ~E_NOTICE)是何意?

error_reporting() 设置 PHP 的报错级别并返回当前级别。

; 错误报告是按位的。或者将数字加起来得到想要的错误报告等级。

; E_ALL - 所有的错误和警告

; E_ERROR - 致命性运行时错

; E_WARNING - 运行时警告(非致命性错)

; E_PARSE - 编译时解析错误

; E_NOTICE - 运行时提醒(这些经常是是你的代码的bug引起的,

error_reporting(0);//禁用错误报告

error_reporting(E_ALL ^ E_NOTICE);//显示除去 E_NOTICE 之外的所有错误信息

error_reporting(E_ALL^E_WARNING^E_NOTICE);//显示除去E_WARNING E_NOTICE 之外的所有错误信息

error_reporting(E_ERROR | E_WARNING | E_PARSE);//显示运行时错误,与error_reporting(E_ALL ^ E_NOTICE);效果相同。error_reporting(E_ALL);//显示所有错误

如何有效的屏蔽掉PHP警告和错误提示

方法一、在有可能出错的函数前加@,然后or die("")

如:

@mysql_connect(...) or die("Database Connect Error")

屏蔽PHP错误提示方法二、编辑php.ini ,查找"display_errors =" ,将“=”后面的值改为"off。

屏蔽PHP错误提示方法三、在php脚本前加error_reporting(0),屏蔽所有错误提示。

error_reporting

配置错误信息回报的等级。

语法: int error_reporting(int [level]);

返回值: 整数

函数种类: PHP 系统功能

屏蔽PHP错误提示函数内容说明

本函数用来配置错误信息回报的等级,参数 level 是一个整数的位遮罩 (bitmask),见下表。

遮罩值 表示名称

E_ERROR

E_WARNING

E_PARSE

E_NOTICE

E_CORE_ERROR

E_CORE_WARNING

E_NOTICE 表示一般情形不记录,只有程序有错误情形时才用到,例如企图存取一个不存在的变量,或是呼叫 stat() 函数检视不存在的文件。

E_WARNING 通常都会显示出来,但不会中断程序的执行。这对除错很有效。例如:用有问题的正则表达式呼叫 ereg()。

E_ERROR 通常会显示出来,亦会中断程序执行。意即用这个遮罩无法追查到内存配置或其它的错误。

E_PARSE 从语法中解析错误。

E_CORE_ERROR 类似 E_ERROR,但不包括 PHP 核心造成的错误。

E_CORE_WARNING 类似 E_WARNING,但不包括 PHP 核心错误警告。

error_reporting( 7 ) = error_reporting( 1+2+4) = error_reporting(E_ERROR | E_WARING | E_PARSE)

以上就是屏蔽PHP错误提示的相关实现方法。

如何有效实现

PHP的错误日志文件“php_error_log”可以直接删除么?

任何时辰删除都是可以的php

错误日志供给了一些选项,没有需要自己手工打点ignore_repeated_errors

=

0n

;不记实一再来历的错误ignore_repeated_source

=

On

;忽略错误来历这样的日志文件不会很年夜

怎么让php打印错误日志?

(1)使用echo ,简单输出

(2)使用print_r(),可以有规则的打印复杂结构

(3)var_dump递归输出某种结构体

(4)print(),简单打印

可以将你要输出的错误内容放到上述语句或函数内进行打印输出;也可以写入某个文件,作为你的Log日志:file_put_contents('/test1.txt',$value['value'],FILE_APPEND)等这类文件函数

以上是我自己工作中总结的PHP调试方法,挺好用的。

php进程超时接口返回504错误分析

在一次接口测试中,发现返回的http 504 time out 的错误,然后查看了php-fpm的错误日志,发现了如下错误

从表现上看,是php进程超时导致的进程被kill了,那么这个超时时间以及kill的机制是跟哪些参数有关呢,这里系统这里一下。

Nginx服务一般因为php的错误或者超时会有两种错误码502 bad Gateway 或者 504 Gateway Time-out

一种情况是php产生了语法错误,比如循环调用、变量作用域错误、方法不存在等,如果开启错误日志输出的话,这种错误在php-fpm的错误日志中是可以看到调用栈信息的。

另外一种情况可能就是超时引起的php-fpm主动kill的情况,在php.ini和php.fpm中有两个配置项,用来管理php脚本的最大执行时间

当php脚本的执行时间超过这个时间时,PHP-FPM不只会终止脚本的执行,还会终止执行脚本的Worker进程。所以Nginx会发现与自己通信的连接断掉了,就会返回给客户端502错误。

以顶部的错误为例,当报502错误是,nginx的errorlog中有如下日志,:

所以只需将这两项的值调大一些就可以让PHP脚本不会因为执行时间长而被终止了。request_terminate_timeout可以覆盖max_execution_time,

所以如果不想改全局的php.ini,那只改PHP-FPM的配置就可以了。

此外要注意的是Nginx的upstream模块中的max_fail和fail_timeout两项。这两个配置表示在fail_timeout事件内,如果fail的测试达到max_fail,那么在接下来的fail_timeout时间内,Nginx都会认为上游服务器挂掉了,都会返回502错误。

所以可以将max_fail调大一些,将fail_timeout调小一些。

PHP-FPM设置的脚本最大执行时间已经够长了,但执行耗时PHP脚本时,发现Nginx报错从502变为504了。这是为什么呢?

因为我们修改的只是PHP的配置,Nginx中也有关于与上游服务器通信超时时间的配置

以Nginx超时时间为90秒,PHP-FPM超时时间为300秒为例,报504 Gateway Timeout错误时的Nginx错误访问日志如下:

调高这三项的值(主要是read和send两项,默认不配置的话Nginx会将超时时间设为60秒)之后,504错误也解决了。

而且这三项配置可以配置在http、server级别,也可以配置在location级别。担心影响其他应用的话,就配置在自己应用的location中吧。

要注意的是factcgi_connect/read/send_timeout是对FastCGI生效的,而proxy_connect/read/send_timeout是对proxy_pass生效的。

参考链接: 感谢分享!

关于php错误日志等级的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。

查看更多关于php错误日志等级 thinkphp错误日志目录的详细内容...

声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did196681
更新时间:2023-04-26   阅读:24次

上一篇: php获取常量名 php获取数据

下一篇:php用户登记列表 php用户登陆

最新资料更新

  • 1.php学费多少兄弟连 php教程兄弟连
  • 2.怎么写php需求 php市场需求
  • 3.php数据抓取实例 php采集数据
  • 4.php数字语音播报 php语音转文字
  • 5.包含phpautoconf的词条
  • 6.php生成缓存图片 php缓存机制有哪些
  • 7.php5.2cgi的简单介绍
  • 8.php中数据汇总 php数据统计
  • 9.php显示字段内容 php限制显示字数
  • 10.php文件工具类 php文件处理
  • 11.php数组键名排序 php数组值排序
  • 12.php做vip解析 php解析器是什么
  • 13.php下面有哪些技术 php运用的技术php开发有哪些实用的技术
  • 14.php截取汉子 php 截断
  • 15.php可以回收吗 php还有人用吗
  • 16.php和php-fpm的简单介绍
  • 17.php网站+iis php网站有哪些
  • 18.输出图片php 输出图片英文
  • 19.apexphp辅助 apex wr辅助
  • 20.php跳转url源码 网页跳转源码

CopyRight:2016-2025好得很程序员自学网 备案ICP:湘ICP备09009000号-16 http://www.haodehen.cn
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2025 「好得很程序员自学网」
[ SiteMap ]