您的位置:首页 > 编程语言 > PHP开发

LAMP 中关于php错误日志配置的小问题

2016-01-28 13:50 429 查看
首先,php在LAMP中是作为一个模块被apache调用的,所有并没有单独的进程

php编译安装后,配置文件在源码包里面,将配置文件复制到指定的目录里

cp /usr/local/src/php-5.3.28/php.ini-production   /usr/local/php/etc/php.ini


然后执行

/usr/local/php/bin/php -i | grep php.ini


看看配置文件是否已经识别

完成这两步之后然后开始正式配置php.ini

1.配置disable_function

disable_functions = eval,assert,popen,passthru,escapeshellarg,escapeshellcmd,passthru,exec,system,chroot,scandir,chgrp,chown,escapeshellcmd,escapeshellarg,shell_exec,proc_get_status,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,leak,popepassthru,stream_socket_server,popen,proc_open,proc_close


2.配置php的错误日志

display_errors = Off
logs_error = On
error_log = /usr/local/php/logs/php_errors.log
error_reporting = E_ALL | E_STRICT


第一个display_errors如果打开的话,当php代码出错时,访问时会直接在浏览器上面显示错误信息,这样很不安全,除非是用于开发者调试,否则很容易被攻击者利用,建议关闭

logs_error = on 这个是打开日志记录的功能,打开后错误信息会保存到日志当中

error_log 这个很明显就是错误日志的路径了

error_reporting 这一项是指定记录错误日志的形式,配置文件里面有英文解释,可以按照自己需求去修改

最后再说说我在做实验时遇到的问题 : 配置完错误日志后,我把我的网页php代码故意改错了,然后用浏览器访问确实没有显示任何错误信息。但是当我去查看错误日志的时候却发现居然没有生成php_errors.log这个日志文件,后来上网查资料弄了好久发现原来是错误日志要设置权限的,然后我自己创建了php_errors.log这个日志文件,然后把该文件的访问权限修改为666,然后再刷新了下网页,错误日志就出来了。

也就是说:这个错误日志必须能让apache写入,而apache进程的用户是daemon,所以这个文件的权限必须要修改成daemon可写才行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息