配置文件路径可通过命令查看

/usr/local/php/bin/php -i |head

vim /usr/local/php/etc/php.ini


1)disable_functions 禁用一些高风险的函数,默认为空

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 )error_log 错误日志相关配置

        ①display_errors 显示错误 默认Off

           “On” :为开启

           “Off”:为关闭 (生产环境建议)

            Off时,PHP程序有错误,浏览器不会显示,而是显示为空白页。此时可用curl来定位故障状态码。500为php程序错误。 On时,浏览器显示错误提示信息。           

    ② log_errors 日志记录功能

           设为“On”

        ③ error_log 日志保存位置

           示例 :error_log = /usr/local/php/logs/php_errors.log

          名字可以自定义,logs目录不会自动创建,请手动创建,且权限为777。因为写入者为apache

           mkdir /usr/local/php/logs/;chmod 777 /usr/local/php/logs/            

           注 :或将其目录所属主与组改为daemon


3)error_reporting 配置日志格式和级别

error_reporting = E_ALL & ~E_NOTICE

注:逻辑关系中 &为或 ~为非 



4) open_basedir安全选项

open_basedir = /usr/local/src/Discuz:/tmp    限制只能访问2个目录 (php.ini只能配置一条)

如果服务器被黑客获取权限,也只能查看这两个目录,不能查看以外的目录

如果有多个网站,需要开启open_basedir。只能在apache中的虚拟主机配置中插入代码

php_admin_value open_basedir "/usr/local/src/Discuz:/tmp"

注:如果Apache配置了basedir,则php.ini可以不用配置basedir,一条起作用即可。