查看php配置文件位置,最准确的办法是在站点创建php探针
# /usr/local/php/bin/php -i|grep -i "loaded configuration file"
date.timezone = Asia/shanghai 定义时区
disable_functions //限制一些php函数
disable_functions = eval,assert,popen,passthru,escapeshellarg,escapeshellcmd,passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec
,proc_get_status,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,leak,popepassthru,stream_socket_server,popen,proc
_close,phpinfo
display_errors 访问时的错误信息,如果不允许访问,显示的就是白页
; Default Value: On
; Development Value: Off 两个版本还有其他,开启或关闭。
; Production Value: Off 开启单个时,前面的分号 要去掉。
; http://php.net/display-errors
display_errors = On 这里关闭,将全部关闭。
error_log = /tmp/php_errors.log //定义错误日志的位置。
测试:可以看到生成了php_error.log。它的属主和属组都是deamon,这个日志是以httpd这个进程的身份生成的。有时候定义了一个错误日志,但是错误日志一直没有生成,就要检查一下错误日志所在的目录有没有写权限。
error_reporting = E_ALL定义日志的级别
默认是E_ALL,全部记录。生产环境中是Show all errors, except for notices
open_basedir
作用:将网站限定在指定目录里,就算该站点被黑,黑客也只能在该目录下面有作为,而不能动其他的目录。如果服务器上只有一个站点,那么可以直接在php.ini中设置open_basedir参数。如果服务器上跑的站点比较多,那在php.ini设置就不合适了,因为php.ini中只能定义一次,也就是说所有站点都一起定义限定的目录,那这样就起不到隔离多个站点的目的。如何在php.ini中设置open_basedir:
# vim /usr/local/php5/etc/php.ini
open_basedir = /data/wwwroot/ahao1.com:/tmp 针对全部站点的。
# vim /usr/local/httpd/conf/extra/httpd-vhosts.conf也可以在虚拟主机配置文件设置
php_admin_value open_basedir "/data/wwwroot/ahao1.com:/tmp/"
解析:php_admin_value:可以定义php.ini里面的一些参数,比如error_log等。后面跟参数,然后指定的目标路径。

