How does PHP write log information into log files on the server?

Source: Internet
Author: User
Tags php write
This article mainly introduces how PHP writes log information to log files on the server. For more information, see

This article mainly introduces how PHP writes log information to log files on the server. For more information, see

After writing log information to the log file on the server, the solution was finally found in a large circle. The specific content is as follows:

Tossing:

[Record] How to Write and use classes in php

During this period, you need to prepare a, configurable, General, and log system.

Logs can be written to log files.

[Tossing process]

1. Search:

Php log to file

Refer:

PHP: error_log-Manual

PHP: syslog-Manual

How to create logs with PHP-Web Services Wiki

Write to a log file with PHP | Redips spideR Net

Download Code:

Download redips10.tar.gz

2. Period:

[Solved] Add the at symbol @ in front of the function in PHP

3. Then use the code:

CrifanLib. php <? Php/* [Filename] crifanLib. php [Function] crifan's php lib, implement common functions [Author] Crifan Li [Contact] [Note] 1. online see code: [TODO] [History] [v1.0] 1. initial version, need clean up later */class crifanLib {private $ logFile; private $ logFp;/* Init log file */function logInit ($ inputLogFile = null) {// set default log file name // in case of Windows set default log file // http://stackoverflow.com/questions/1482260/how-to-get-the-os-on-which-php-is-running // http://php.net/manual/zh/function.php-uname.php If (strtoupper (substr (PHP_ OS, 0, 3) === 'win') {$ defautLogFile = 'C:/php/defLogFile. log';} // set default log file for Linux and other systems else {$ defautLogFile = '/tmp/defLogFile. log';} $ this-> logFile = $ inputLogFile? $ InputLogFile: $ defautLogFile; // open log file for writing only and place file pointer at the end of the file // (if the file does not exist, try to create it) $ this-> logFp = fopen ($ this-> logFile, 'A') or exit ("Can't open $ this-> logFile! ");}/* Write log info to file */function logWrite ($ logContent) {// if file pointer doesn't exist, then open log file if (! Is_resource ($ this-> logFp) {$ this-> logInit ();} // define script name $ script_name = pathinfo ($ _ SERVER ['php _ SELF '], PATHINFO_FILENAME); // define current time and suppress E_WARNING if using the system TZ settings // (don't forget to set the INI setting date. timezone) $ time = @ date ('[Y-m-d H: I: s]'); // write current time, script name and message to the log file fwrite ($ this-> logFp, "$ time ($ script _ Name) $ logContent ". PHP_EOL);}/* Deinit log */function logDeinit () {if (is_resource ($ this-> logFp )) {fclose ($ this-> logFp) ;}}}?>

Then test the Code:

<? Php/* Author: Crifan Li Version: 2015-07-27 Contact: Function: Wechat get access token */include_once "crifanLib. php "; // test log $ crifanLib = new crifanLib (); $ crifanLib-> logInit ("/xxx/access_token/crifanLibTest. log "); $ crifanLib-> logWrite (" This is crifanLib log test message. "); $ crifanLib-> logDeinit ();?>


Then execute the corresponding code:

The page has no output:

Then the log file is generated:

Root @ chantyou: php # cd access_token/root @ chantyou: access_token # lltotal 16-rwxrwxrwx 1 root 9335 Jul 27 crifanLib. php-rwxrwxrwx 1 root 567 Jul 27 wx_access_token.phproot @ chantyou: access_token # lltotal 20-rwxrwxrwx 1 root 9335 Jul 27 crifanLib. php-rw-r -- 1 apache 77 Jul 27 17: 56 crifanLibTest. log-rwxrwxrwx 1 root 567 Jul 27 :52 wx_access_token.phproot @ chantyou: access_token # cat crifanLibTest. log [10:10:33] (wx_access_token) This is crifanLib log test message. root @ chantyou: access_token #

Note]

Remember to add the write permission to the corresponding folder on the Linux Server:

Root @ chantyou: php # lltotal 48drwxr-xr-x 2 root 4096 Jul 27 access_token-rwxr-xr-x 1 root 1091 Sep 25 2014 errorCode. php-rw-r -- 1 root 2230 Jun 10 14:16 MicromsgVerify. php-rwxr-xr-x 1 root 4288 Sep 25 2014 pkcs7Encoder. php-rwxr-xr-x 1 root 452 Sep 15 2014 Readme.txt-rwxr-xr-x 1 root 724 Sep 22 2014 sha1.phpdrwxr-xr-x 2 root 4096 Jul 20 wechat_encypt-rwxr-xr-x 1 root 5327 Sep 15 2014 WXBizMsgCrypt. php-rwxrwxrwx 1 root 2455 Jul 16 wx_didaosuzhou.php-rwxr-xr-x 1 root 1346 Sep 22 2014 xmlparse. phproot @ chantyou: php # chmod ugo + wx access_token/root @ chantyou: php # lltotal 48 drwxrwxrwx 2 root 4096 Jul 27 access_token-rwxr-xr-x 1 root 1091 Sep 25 2014 errorCode. php-rw-r -- 1 root 2230 Jun 10 14:16 MicromsgVerify. php-rwxr-xr-x 1 root 4288 Sep 25 2014 pkcs7Encoder. php-rwxr-xr-x 1 root 452 Sep 15 2014 Readme.txt-rwxr-xr-x 1 root 724 Sep 22 2014 sha1.phpdrwxr-xr-x 2 root 4096 Jul 20 wechat_encypt-rwxr-xr-x 1 root 5327 Sep 15 2014 WXBizMsgCrypt. php-rwxrwxrwx 1 root 2455 Jul 16 wx_didaosuzhou.php-rwxr-xr-x 1 root 1346 Sep 22 2014 xmlparse. php

Otherwise, an error is reported:

Can't open/xxx/access_token/crifanLibTest. log file!

4. But I suddenly remembered:

I have learned before,

File_put_contents

You can replace fopen, fwrite, and fclose.

Therefore, the optimization is as follows:

CrifanLib. php

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.