php引擎文件php.ini优化参数
无论是Apache环境还是nginx环境,php.ini都适合,php-fpm.conf适合nginx+fcgi的配置。
生产环境php.ini(php.ini-production)
php.ini-development
php.ini-production
# vim /application/php/lib/php.ini
(1) PHP函数禁用找到:
disable_functions = 该选项可以设置哪些PHP函数是禁止使用的,PHP中有一些函数的风险性还是相当大的,可以直接执行一些系统级脚本命令,如果允许这些函数执行,当PHP程序出现漏洞时,损失是非常严重的!以下我们给出推荐的禁用函数设置:
disable_functions = phpinfo,passthru,exec,system,popen,chroot,escapeshellcmd,escapeshellarg,shell_exec,proc_open,proc_get_status
需注意:如果您的服务器中含有一些系统状态检测的PHP程序,则不要禁用shell_exec,proc_open,proc_get_status等函数。
(2) PHP脚本执行时间找到:
max_execution_time = 30
该选项设定PHP程序的最大执行时间,如果一个PHP脚本被请求,且该PHP脚本在max_execution_time时间内没能执行完毕,则PHP不再继续执行,直接给客户端返回超时错误。没有特殊需要该选项可保持默认设置30秒,如果您的PHP脚本确实需要长执行时间则可以适当增大该时间设置。
(3) PHP脚本处理内存占用找到:
memory_limit = 8M
该选项指定PHP脚本处理所能占用的最大内存,默认为8MB,如果您的服务器内存为1GB以上,则该选项可以设置为12MB以获得更快的PHP脚本处理效率。
(4) PHP全局函数声明找到:
register_globals = Off
网络上很多关于PHP设置的文章都推荐将该选项设置为On,其实这是一种及其危险的设置方法,很可能引起严重的安全性问题。如果没有特殊的需要,强烈推荐保留默认设置!
(5) PHP上传文件大小限制找到:
upload_max_filesize = 2M
该选项设定PHP所能允许最大上传文件大小,默认为2MB。根据实际应用需求,可以适当增大该设置。
(6) Session存储介质找到:
session.save_path
(7)打开magic_quotes_gpc来防止sql注入。
sql注入非常危险,轻则网站后台被入侵,重则整个服务器瘫痪。
agic_quotes_gpc = Off #默认是关闭状态。打开之后将自行对用户提交的sql查询进行转换,
如,把 ' 转换为 \'等 ,这对防止sql注入有重大作用,因此建议设置为:agic_quotes_gpc = On .
(8)错误信息控制:一般php程序在没有连接到数据库或者其他情况下出现提示错误,一般错误信息
中会有php脚本当前的路径信息或者查询sql语句等信息,这些信息如果被黑客利用使用的话,是及其
不安全的,所以一般建议服务器禁止提示错误信息。
该参数配置如下:
display_errors = Off
提示:在生产系统中,强烈建议你使用错误日志记录web站点上显示的错误信息。
(9)错误日志,在错误信息出现后,我们希望把错误信息记录下来,便于查看php服务出错的原因:
log_errors = On
同时也要设置日志存放的目录,建议存放目录与web服务存放的路径一致,如下面设置:
error_log = /application/apache/logs/php_errors.log #与Apache日志在同一目录
注意:该文件要给Apache用户和组具有读写的权限。
更多在以后用到再总结:
参考网址:https://www.cnblogs.com/xiaorenwu702/p/6151553.html