zoukankan      html  css  js  c++  java
  • PHP CLI与CGI 和 PHP日志

    PHP错误跟踪,错误提示有助于,定位错误的位置,从而进行调试。与错误显示有关的命令有如下:
    1、直接显示

    error_reporting=ALL(错误显示级别设置)
    display_errors=On|Of (是否显示错误)

    2、把错误存入日志文件里

    log_errors=On (开启日志显示)
    error_log=D:/www/error.log (错误日志存放地址)

    如果需要局部设置显示的话,可以使用
    ini_set和int_get,设置和获取配置。

    3、CLI与CGI的区别
        1)、CLI不会输出任何头信息。CGI可以通过配置取消header信息。 CLI通过使用参数-q或--no-header来向后兼容,使得可以使用旧的CGI
        2)、CLI不会把当前目录改为执行脚本的目录。
        3)、CLI不会输出HTML错误信息,只输出纯文本错误信息。
        4)、CLI会强制覆盖php.ini里的一些配置,覆盖操作是发生在所有的设置文件(php.ini)解析之后,所以可以在运行时修改这些配置,当然也没有什么意义。

    html_errors        FALSE
    implicit_flush     TRUE
    max_execution_time  0
    register_argc_argv  TRUE

        5)、CLI有一些预设的常量:STDIN,STDOUT,STDERR
            例子:
            输入和输入流,可以像文件一样使用fopen,fgets,fwrite进行操作。
           

            <?php
            fwrite(STDOUT, “Please enter your name\n”);
            $name = fgets(STDIN);
            fwrite(STDOUT, "Welcome $name");
            ?>
    <?php set_error_handler("ErrorHandler"); function ErrorHandler($errno, $errstr, $errfile, $errline) { fwrite(STDERR,"$errstr in $errfile on $errline\n"); } $fp = fopen("demo.txt","r"); $str = fread($fp,filesize("demo.txt")); fclose($fp); fwrite(STDOUT, "Task completed successfully!"); ?>
     Tip: php error.php 2> error.log 其中error.php里所有使用fwrite(STDERR, '...')的语句,产生的输出都会录入到error.log而不会显示到标准输出中去。注意1 =》STDOUT

        参考资源:http://php.net/manual/zh/features.commandline.php
       
       

  • 相关阅读:
    判断元素的属性是否存在
    js 查找树节点 数组去重
    redis 基础知识
    jQuey知识点三 解析json数据
    jQuery知识点二 实现隔行变色
    mysql 基础操作一
    ruby 基础知识三 读写文件
    Active Record 数据迁移
    ruby 基础知识(二)
    rails 常用的知识点
  • 原文地址:https://www.cnblogs.com/mengzhongshi/p/2795885.html
Copyright © 2011-2022 走看看