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

[经验分享] PHP参数调优

[复制链接]

尚未签到

发表于 2018-12-12 06:00:51 | 显示全部楼层 |阅读模式
一 基础简介
  PHP.ini 适合于nginx和apache,如php-fpm适合于nginx+fastcgi的配置
php.ini PHP引擎  php.fpm PHP的进程
PHP的配置文件由两个,一个是development,另一个是production
两个的区别:
生产场景php.ini的日志都是关闭或者输出到文件中的,所以我们在生产环境中把非程序上的输出都关闭或隐藏
二  php.ini 参数调优
  日志的关闭与隐藏就是PHP的基本调优
1 打开PHP的安全模式
  PHP的安全模式是PHP内嵌的安全机制,能够控制一些PHP中的函数执行,同时把很多文件操作的函数进行权限控制,如果通过PHP来调用rm而删除一些服务器资源,则安全不复存在


2 用户组安全
  当safe_mode 打开时,safe_mode_gid被关闭,那么PHP脚本能够对文件进行访问,而且相同组的用户也能对文件进行访问,建议设置为:safe_mode_gid=off
如果不设置,则有可能我发对服务器网站目录下的文件进行操作

3 关闭危险函数
  例如可以通过phpinfo()查看PHP的版本和基础信息,进而对系统有一个了解

4 关闭PHP版本信息在HTTP头中的泄露

5 关闭注册全局变量
  在PHP中提交的变量,包括使用POST或者GET提交的变量,都将自动注册为全局变量,能够直接访问,这对服务器是非常不安全的,所有我们不能让他注册为全局变量,就把注册全局变量的选项关闭,此处涉及到程序开发

6 打开magic_quotes_gpc 来防止SQL注入
  SQL注入是非常危险的,轻则网站后台被修改,重则整个服务器沦陷

SQL注入防范:
apache中mod_security和mod_enasive
nginx 中 nginx lua vaf
7 错误信息控制
  一般的PHP在没有连接到数据库或者其他情况下会有提示错误,一般错误信息中会包含PHP脚本当前的路径信息或者查询的SQL语句等信息,这样不安全

如果自己想看日志,则首先需要设置日志的级别

设置日志打开并提供一个路径

8 部分资源参数限制优化
1 设置每个脚本运行的最长时间
  当无法上传较大的文件或者后台备份数据经常超时,需要调整,此参数是默认

2 每个脚本使用的最大内存

3 每个脚本等待输入数据的最长时间

其中-1表示无限制

4 上载文件的最大许可大小

9 部分安全参数优化
1 禁止打开远程地址

2 设定 cgi.fix_pathinfo=0放置nginx文件类型错误解析漏洞

10 调整PHP session 信息存放类型和位置
  默认位置

  一般的,在数据进行再次访问如果会话存放在本地,访问被调用到另一台设备上,则会导致重新需要再次进行会话的保存
其默认的保存方式是文件,一般需要将文件修改为memcached

  搭建memcached


  路径修改为memcached服务器的地址


  重启服务

  查看info是否存在

二 php-fpm
1 pid

打开pid 通过pid进行管理

2 开启错误日志

3 开启日志级别

4 最大的FPM fork 进程的数量。如果并发比较大,可以开大一点

5  调整最大打开文件数量

6 用户和组,要和nginx的用户和组相同

7 修改监听别的端口和IP地址

8 进程相关
1 默认
  最大的进程数量

启动服务进程数量

服务最小进程数量,当没有流量时的服务数量

最大空间数

2 修改

修改参数结果




当该进程不使用时销毁时间

每个子进程服务请求的数量

9  PHP的访问日志

10  慢查询相关日志开启





运维网声明 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-650227-1-1.html 上篇帖子: php使用socket 下篇帖子: php数组转xml
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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