设为首页 收藏本站
查看: 610|回复: 0

[经验分享] PHP引擎php.ini参数优化

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-8-22 10:28:01 | 显示全部楼层 |阅读模式
参数以外常见的PHP优化方法手段

1)php引擎缓存加速优化

1
2
#xcache、ZendOpcache、eaccelerator
#http://www.lichengbing.cn/archivers/270.html



2) 使用tmpfs作为缓存加速缓存的文件目录
tmpfs,基于内存的文件系统,加快转存暂存文件的速度
1
2
[iyunv@web01 ~]# mount -t tmpfs tmpfs /dev/shm -o size=256m
[iyunv@web01 ~]# mount -t tmpfs tmpfs /dev/shm /tmp/eaccelerator #上传图片缩略图临时处理目录和缓存目录



3) 防止PHP程序上传文件到图片附件目录
1
#Nginx防御 http://www.lichengbing.cn/archivers/279.html





php.ini参数调优
php.ini配置文件
1
2
3
[iyunv@web01 php-5.5.32]# ll php.ini-*
-rw-r--r--. 1 1001 1001 69236 Feb  2  2016 php.ini-development #开发环境
-rw-r--r--. 1 1001 1001 69266 Feb  2  2016 php.ini-production #生产环境(关闭日志或者输出到文件中)



1) 打开php的安全模式
php安全模式是个非常重要的php内嵌的安全机制,能够控制一些php的函数执行,比如system()调用系统命令函数
1
safe_mode = on



2)用户组安全
1
safe_mode_gid = off #防止php程序对脚本执行有权限



3)关闭危险函数
如果打开了安全模式,那么函数禁止是可以不需要的,但是我们为了安全还是可以关闭的,特别是phpinfo()
1
disable_functions = system,passthru,exec,shell_exec,popen,phpinfo



如果要禁止任何文件和目录的操作,那么可以关闭很多文件操作
1
disable_functions = chdir,chroot,dir,getcwd,opendir,readdir,scandie,fopen,unlink,delete,copy,mkdir,rmdir,rename,file,file_getcontents,fputs,fwrite,chgrp,chmod,chown



4)关闭PHP版本信息在http头中的泄漏
1
expose_php = off



5)关闭注册全局变量
在PHP中提交的变量,包括使用POST或者GET提交的变量,都将自动注册为全局变量,能够直接访问,这是对服务非常不安全的
1
2
register_globals = off #推荐使用预定义的超全局变量:$_ENV,$_GET,$_POST,$_COOKIE,$_SERVER
#该指令收variables_order指令的影响,5.5自动关闭了



6)打开magic_quotes_gpc来防止SQL注入
SQL注入是非常危险的问题,轻则网站后台被入侵,重则整个服务器沦陷
1
magic_quotes_gpc = off



这个默认是关闭的,如果它打开将自动把用户提交对sql的查询进行转换,比如把 ' 转换为 \' 这对防止sql注入有重大作用,所以推荐设置为
1
magic_quotes_gpc = on



SQL注入防范:
Apache 中的mod_security和mod_evasive
Nginx lua waf
7)错误信息控制
一般php在没有连接到数据库或者其他情况下会提示错误,一般信息都会包含php脚本当前的路径信息或者查询的SQL语句信息,这类信息提供给黑客后市不安全的,建议关闭错误提示
1
display_errors = off #正式环境不要给用户报错



8)错误日志
1
2
log_errors = on #打开日志开关
error_log = /application/logs/php_error.log #设置路径





部分资源限制参数优化
1)设置每个脚本运行的最长时间
但无法上传较大的文件或者后台备份数据经常超时时,此时需要调整如下设置
1
2
3
max_execution_time = 30
#每个脚本允许的最大执行时间,0表示没有限制
#这个参数有助于阻止恶劣脚本无休止的占用服务器资源



2)每个脚本使用的最大内存
1
memory_limit = 128m



3)每个脚本等待输入数据最长时间
1
max_input_time = 60;   #(-1表示不限制)



4)上传文件的最大许可
1
upload_mx_filesize = 2M;





部分安全参数优化
1)禁止打开远程地址
记得最近出的php include的那个安全漏洞吧!就是在一个php程序中的include了变量,那么入侵者就可以利用这个控制服务器在本地执行远程的一个php程序,例如phpshell
1
allow_url_fopen = off



2)设定防止Nginx文件解析错误漏洞
1
cgi.fix_path = 0



3)调整php sesson会话共享信息存放位置
1
2
3
session.save_handler = memcache
session.save_path = "tcp://10.0.0.8:1211"
#首先搭建好memcache环境






运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-261292-1-1.html 上篇帖子: 如何搭建配置php开发环境 下篇帖子: PHP 简单日历编写
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表