Enabling Php Error Logging
Contents |
March 28, 2016 in Apache, Howto, lighttpd, Linux, php, Security, UNIXPHP offers simple but effective solution to log all errors to a log fiie. On all production web server you must
Enable Php Error Logging Htaccess
turn off displaying error to end users via a web browser. Remember PHP turn on php error logging gives out lots of information about path, database schema and all other sort of sensitive information. You are strongly advised php error file to use error logging in place of error displaying on production web sites. The idea is quite simple only developer should able to see php error log.
Find out path to php.iniThePhp Error Log File
default paths are as follows for popular unix like system:CentOS Linux/RHEL v5.x/6.x/7.x : /etc/php.iniUbuntu / Debian Linux (PHP 7 fpm) : /etc/php/7.0/fpm/php.iniUbuntu / Debian Linux (PHP 5.6 fpm) : /etc/php/5.6/fpm/php.iniUbuntu / Debian Linux (PHP 7 with Apache 2) : /etc/php/5.6/apache2/php.iniUbuntu / Debian Linux (PHP 5.6 with Apache 2) : /etc/php/7/apache2/php.iniFreeBSD unix server v9.x/10.x+: /usr/local/etc/php.iniYou can use the following command to find out path to php.ini: #
How To Create Error Log File In Php
php5-cgi -i | grep php.ini Sample outputs:
# php-fpm7.0 -i | grep php.ini Sample outputs:Configuration File (php.ini) Path => /etc/php/7.0/fpm Loaded Configuration File => /etc/php/7.0/fpm/php.iniHow do I log all php errors to a log fiie?Just add following line to /etc/php.ini to log errors to specified file, say /var/log/php-scripts.log or /var/log/httpd/php-error.log: # vi /etc/php.ini Find and modify the error_log directive as follows: error_log = /var/log/php-scripts.log Make sure display_errors set to Off (no errors to end users): display_errors = Off Save and close the file. Restart web server or php7-fpm service: # /etc/init.d/httpd restart OR # systemctl restart httpd.service OR # restart php7.0-fpmHow do I log errors to syslog or Windows Server Event Log?Modify error_log as follows : error_log = syslogHow do I see logs?Login using ssh or download a log file /var/log/php-scripts.log using sftp client: $ sudo tail -f /var/log/php-scripts.log Sample outputs:Fig.01: PHP error log output Share this on:TwitterFacebookGoogle+Download PDF version Found an error/typo on this page?About the author: Vivek Gite is a seasoned sysadmin and a trainer for the Linux/Unix & shell scripting. Follow him on Twitter. OR read more like th
Generators References Explained Predefined Variables Predefined Exceptions Predefined Interfaces and Classes Context options and parameters Supported Protocols and Wrappers Security Introduction General php.ini error_log considerations Installed as CGI binary Installed as an Apache module
Php Log_errors
Session Security Filesystem Security Database Security Error Reporting Using Register Globals User Submitted Data Magic php.ini error log Quotes Hiding PHP Keeping Current Features HTTP authentication with PHP Cookies Sessions Dealing with XForms Handling file uploads Using remote files Connection handling Persistent http://www.cyberciti.biz/tips/php-howto-turn-on-error-log-file.html Database Connections Safe Mode Command line usage Garbage Collection DTrace Dynamic Tracing Function Reference Affecting PHP's Behaviour Audio Formats Manipulation Authentication Services Command Line Specific Extensions Compression and Archive Extensions Credit Card Processing Cryptography Extensions Database Extensions Date and Time Related Extensions File System Related Extensions Human Language and Character http://php.net/manual/en/function.error-reporting.php Encoding Support Image Processing and Generation Mail Related Extensions Mathematical Extensions Non-Text MIME Output Process Control Extensions Other Basic Extensions Other Services Search Engine Extensions Server Specific Extensions Session Extensions Text Processing Variable and Type Related Extensions Web Services Windows Only Extensions XML Manipulation Keyboard Shortcuts? This help j Next menu item k Previous menu item g p Previous man page g n Next man page G Scroll to bottom g g Scroll to top g h Goto homepage g s Goto search(current page) / Focus search box restore_error_handler » « error_log PHP Manual Function Reference Affecting PHP's Behaviour Error Handling Error Handling Functions Change language: English Brazilian Portuguese Chinese (Simplified) French German Japanese Korean Romanian Russian Spanish Turkish Other Edit Report a Bug error_reporting (PHP 4, PHP 5, PHP 7)error_reporting — Sets which PHP errors are reported Description int error_reporting ([ int $level ] ) The error_repor
here for a quick overview of the site Help Center Detailed answers to any questions you might have Meta Discuss the workings and http://stackoverflow.com/questions/845021/how-to-get-useful-error-messages-in-php policies of this site About Us Learn more about Stack Overflow the company Business Learn more about hiring developers or posting ads with us Stack Overflow Questions Jobs Documentation Tags Users Badges Ask Question x Dismiss Join the Stack Overflow Community Stack Overflow is a community of 4.7 million programmers, just like you, helping each other. Join them; it only takes a error log minute: Sign up How to get useful error messages in PHP? up vote 367 down vote favorite 163 I find programming in PHP quite frustrating. Quite often I will try and run the script and just get a blank screen back. No error message, just empty screen. The cause might have been a simple syntax error (wrong bracket, missing semicolon), or php error log a failed function call, or something else entirely. It is very difficult to figure out what went wrong. I end up commenting out code, entering "echo" statements everywhere, etc. trying to narrow down the problem. But there surely must be a better way, right?. So, is there a way to get PHP to produce useful error message like Java does? Can anyone recommend good PHP debugging tips, tools and techniques? php debugging error-handling share|improve this question edited May 11 '13 at 23:52 hkBattousai 3,66183982 asked May 10 '09 at 9:48 Candidasa 2,94482330 coding.smashingmagazine.com/2011/11/30/… –Alex Jul 15 '12 at 14:54 1 Also see stackoverflow.com/q/1475297/632951 –Pacerier Oct 14 '14 at 9:37 @JuannStrauss, That's understating it. And when you finally see the errors, it says T_PAAMAYIM_NEKUDOTAYIM. Or maybe "must be an instance of integer, integer given". –Pacerier Apr 3 '15 at 20:02 Tutorial on this: code2real.blogspot.com/2015/06/… –Pupil Sep 9 '15 at 7:21 add a comment| 27 Answers 27 active oldest votes up vote 352 down vote accepted For syntax errors, you need to enable error display in the php