1、确定web服务器 ( IIS, APACHE, NGINX 等) 以哪一种方式支持PHP,通常是有下面2种方式

通过模块加载的方式, 适用于apache 

通过 CGI/fastCGI 模式, 该模式一般web服务器都是支持的

2、通过模块加载的方式

php程序中配置 > httpd.conf > php.ini中配置

3、通过 CGI/fastCGI 模式

php程序中配置 > php.ini中配置    
ini_get("error_reporting");

ini_get("log_errors");

ini_get("error_log");

输出:

'22527'
'1'
'/usr/local/php7.2.0/var/log/php_errors.log'

如果log_errors = On

/usr/local/php7.2.0/var/log/php_errors.log文件不存在,或无法创建,写入,则php错误日志写到apache ErrorLog指令指定的文件

[liuchao@GD-NT-0911QAR1CF_vm1-19.32 conf.d]$ sudo ps -ef |grep httpd
apache : ? :: /usr/local/httpd-2.4./bin/httpd -k graceful [liuchao@GD-NT-0911QAR1CF_vm1-19.32 conf.d]$ cd /usr/local/httpd-2.4.20/conf/conf.d [liuchao@GD-NT-0911QAR1CF_vm1-19.32 conf.d]$ sudo grep -anR --color '1.aspire-he-admin' ./ ./aspire_he_admin.conf:: ServerName .aspire-he-admin [liuchao@GD-NT-0911QAR1CF_vm1-19.32 conf.d]$ sudo vim + /usr/local/httpd-2.4./conf/conf.d/aspire_he_admin.conf
<VirtualHost *:80>
    DocumentRoot "/home/d139/var/aspire-he-admin/webroot/"
    ServerName 1.aspire-he-admin
    SetEnv SERVER_ENVERONMENT_PARAM 2
    DirectoryIndex index.php index.html     php_value post_max_size 100M
    CustomLog "| /usr/sbin/cronolog /home/d139/logs/%Y-%m-%d-%H-he-admin_access.log" combined
    ErrorLog  "| /usr/sbin/cronolog /home/d139/logs/%Y-%m-%d-%H-he-admin_error.log"
</VirtualHost>
[liuchao@GD-NT-0911QAR1CF_vm1-19.32 module]$ sudo tail -f /home/d139/logs/----he-admin_error.log
[Wed Mar ::01.194757 ] [php7:error] [pid ] [client 127.0.0.1:] PHP Fatal error: Uncaught Error: Call to undefined method VersionManage::getDb1() in /home/d139/var/aspire-he-admin/module/VersionManage.class.php:\nStack trace:\n# /home/d139/var/aspire-he-admin/webroot/api.php(): VersionManage::getTxlVersionUpgradeStatus(Array)\n# {main}\n thrown in /home/d139/var/aspire-he-admin/module/VersionManage.class.php on line
如果php.ini中log_errors= On,据官方的说法,那么必须指定error_log文件,如果没指定或者指定的文件没有权限写入,那么照样会输出到正常的输出渠道,那么也就使得display_errors 这个指定的Off失效,错误信息还是打印了出来。将log_errors = Off就行了。

PHP错误日志记录文件位置确定的更多相关文章

  1. 将错误日志记录在txt文本里

    引言 对于已经部署的系统一旦出错对于我们开发人员来说是比较痛苦的事情,因为我们不能跟踪到错误信息,不能 很快的定位到我们的错误位置在哪,这时候如果能像开发环境一样记录一些堆栈信息就可以了,这时候我们就 ...

  2. PHP错误日志记录:display_errors与log_errors的区别

    我们所做的东西,无论在开发环境还是在生产环境都可能会出现一些问题. 开发环境下,我们会要求错误尽可能详细的呈现出来,错误提示信息越详细越好,越详细越能帮助开发人员确定问题所在并从根本上解决他们. 生产 ...

  3. .net错误日志记录(log4)

    Log4 web.config <!--这段放前面--> <configSections> <section name="log4net" type= ...

  4. wpf 全局异常捕捉+错误日志记录+自动创建桌面图标

    /// /// 创建桌面图标 /// public static void CreateShortcutOnDesktop(string LnkName) { String shortcutPath ...

  5. Oracle 11g R2 常用配置与日志的文件位置

    假设.bash_profile中oracle相关环境变量如下: $ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1 $ORACLE_BASE=/u01/a ...

  6. asp.net Web项目中使用Log4Net进行错误日志记录

      使用log4net可以很方便地为应用添加日志功能.应用Log4net,开发者可以很精确地控制日志信息的输出,减少了多余信息,提高了日志记录性能.同时,通过外部配置文件,用户可以不用重新编译程序就能 ...

  7. .Net Core中间件和过滤器实现错误日志记录

    1.中间件的概念 ASP.NET Core的处理流程是一个管道,中间件是组装到应用程序管道中用来处理请求和响应的组件. 每个中间件可以: 选择是否将请求传递给管道中的下一个组件. 可以在调用管道中的下 ...

  8. 利用Image对象,建立Javascript前台错误日志记录

    手记:摘自Javascript高级程序设计(第三版),利用Image对象发送请求,确实有很多优点,有时候这也许就是一个创意点,再次做个笔记供自己和大家参考. 原文: 开发 Web 应用程序过程中的一种 ...

  9. python错误日志记录工具,解决项目排错问题

    我们写项目的时候难免会遇到代码报错的问题,遇到这样的问题了如何快速的定位问题并解决问题呢? 我今天来整理了利用python只带的工具来解决这个问题,我能需要使用的库有: logging os 这些都是 ...

随机推荐

  1. day4(带)

    int is_his_file(char*filename,char *username) { int ret; struct passwd *user_info;// struct stat sta ...

  2. Sprint Boot 学习Q&A

    [ERROR] Failed to execute goal pl.project13.maven:git-commit-id-plugin:2.1.11:revision (default) on ...

  3. 每天一个linux命令(文件操作):【转载】find 命令的参数详解

    find一些常用参数的一些常用实例和一些具体用法及注意事项. 1.使用name选项: 文件名选项是find命令最常用的选项,要么单独使用该选项,要么和其他选项一起使用.可以使用某种文件名模式来匹配文件 ...

  4. Codeforces 834D The Bakery 【线段树优化DP】*

    Codeforces 834D The Bakery LINK 题目大意是给你一个长度为n的序列分成k段,每一段的贡献是这一段中不同的数的个数,求最大贡献 是第一次做线段树维护DP值的题 感觉还可以, ...

  5. 好用的 convert freestyle jenkins jobs to pipeline 插件使用

    1. 安装      安装,重启即可,非常简单   2. 使用     原有配置,主要列出执行     生成的jenkins pipeline   3. 构建效果   4. 参考资料 https:// ...

  6. REX-Ray 了解

    REX-Ray 是一个 EMC {code} 团队领导的开源项目,为 Docker.Mesos 及其他容器运行环境提供持续的存储访问.其设计旨在囊括通用存储.虚拟化和云平台,提供高级的存储功能. 当前 ...

  7. laravel的学习历程

    首要,表明态度:PHP是世界上最佳的言语.(梗) laravel说是php将来,形似不假. 最开端触摸的是thinkphp,格外喜爱她的分层,文档格外完全,阅读起来没任何妨碍. 比较laravel,我 ...

  8. linux下如何添加一个用户并且让用户获得root权限【转载】

    原文:http://www.cnblogs.com/johnw/p/5499442.html 1.添加用户,首先用adduser命令添加一个普通用户,命令如下: #adduser tommy //添加 ...

  9. Avro和Thrift区别(未完待续)

    两者都是优秀的序列化框架: Avro创造之初是Hadoop之父Doug为了创造一种更加快捷的序列化方案(此时已经有了thrift),用于Hadoop的HDFS的文件序列化问题. Thrift一个成熟的 ...

  10. ngnix+uwsgi+django 部署mezzanine

    以下是我用ngnix+uwsgi+django 部署mezzanine全过程,其中ngnix+uwsgi这块是看了虫师大神的博客(http://www.cnblogs.com/fnng/p/52686 ...