欢迎光临新华电脑职业培训-现代电脑-新东方学校网站!
您现在所处的位置:福建百科 > 网络技术 >

泉州浮桥网页培训windows服务器:[7]PHP.ini 性能安全优化-福建百科教育网-网络技术

作者:福建百科教育  时间:2020-03-26   点击数:   收藏  分享到:
0

泉州浮桥网页培训windows服务器:[7]PHP.ini 性能安全优化-福建百科教育网


PHP.ini 性能安全优化方法

工具/原料

 
  • windows server 2008 r2
  • php

方法/步骤

 
  1.  

     disable_functions

     

      找到后在=后面添加

      (这里都是禁止在php里面执行的函数)代码:

      复制内容到剪贴板

      exec,system,passthru,error_log,ini_alter,dl,openlog,syslog,readlink,

      symlink,link,leak,fsockopen,proc_open,popepassthru,chroot,scandir,

      chgrp,chown,escapeshellcmd,escapeshellarg,shell_exec,proc_get_status,popen

      上面内容请放到一行。因为保持帖子的整体效果作了换行

      一般后台只用加:

      复制内容到剪贴板

      disable_functions = system,passthru,shell_exec,com,exec,shell

      查找:display_errors

      如果是On的话改成Off

      查找:magic_quotes_gpc

      如果是Off的话改成On

      查找:register_globals

      如果是On的话改成Off

      查找:open_basedir

      后面增加

      /www/:/tmp/

      这里是限制php可以访问的目录,后面一定要加上/,否则如果有/wwwabcd这个目录也会被访问得到

      多个目录用英文:分隔。如果不添加/tmp/的话Discuz!的上传功能就无法使用

      注意:以上内容在php.ini的开头会有相关设置的提示,请按ctrl+x查找下一个,不要直接在上面修改

      ------------------------------

      对php.ini优化

      GD库的支持

      ;extension=php_gd2.dll

      将前面的冒号去掉,

      output_buffering = Off

      输出缓存允许你甚至在输出正文内容之后发送 header(标头,包括cookies)行 其代价是输出层减慢一点点速度。你可以使用输出缓存在运行时打开输出缓存, 或者在这里将指示设为 On 而使得所有文件的输出缓存打开。

      output_handler = ; 你可以重定向你的脚本的所有输出到一个函数,

      那样做可能对处理或以日志记录它有用。

      例如若你将这个output_handler 设为ob_gzhandler, 则输出会被透明地为支持gzip或deflate编码的浏览器压缩。

      设一个输出处理器自动地打开输出缓冲。

      找到这个

      output_buffering = Off

      修改为

      On

      注意,不要设置数值,只需要设置为On即可。

      相应的,你还可以在你的discuz后台,打开gzip支持,也是优化的一项内容。

      有些朋友为了安全,还启用了php的安全模式,这个也是一办法

      另外有些朋友需要使用全局变量和MAGIC,这是一些php程序的必备条件,discuz2.0也需要

      可以打开,不过安全性能将降低,方法很简单。

      register_globals = Off ;

      将其修改为On即可.

      一些朋友经常反映无法上传较大的文件或者后台备份数据经常超时

      max_execution_time = 30 ; 这个是每个脚本运行的最长时间,可以自己修改加长,单位秒

      max_input_time = 60 ; 这是每个脚本可以消耗的时间,单位也是秒

      memory_limit = 8M ; 这个是脚本运行最大消耗的内存,也可以自己加大

      upload_max_filesize = 2M ; 上载文件的最大许可大小 ,自己改吧,一些图片论坛需要这个更大的值

      如果:

      php报错显示PHP has encountered an Access Violation at XXXXXX解决办法

      很多人说,是php版本的问题,其实不然,可以从四个地方来看这个问题

      1,是否zend所需的dll文件所在目录给的权限不够,必须有读取和运行的权限

      2,是否使用的2003,设置过应用池,比如池中限制了什么什么,调整一下再试试看,是否好了,呵呵

      3,php.ini有两个地方没有设置,而且一些程序必须用到的

      将;upload_tmp_dir该行的注释符,使该行在php.ini文档中起作用。

      upload_tmp_dir是用来定义上传文件存放的临时路径,在这里你还可以给其定义一个绝对路径,

      例如:upload_tmp_dir = d:upload  当然,此时你的d:upload目录必须有读写权限。

      这里我设置为

      upload_tmp_dir = c:\temp

      出现这样的错误语句一般是因为你的php.ini中关于session.save_path一项没有设置好,

      解决的方法是将session.save_path和session.cookie_path 设置置为

      session.save_path = c:\temp

      session.cookie_path = c:\temp(我没有修改这项,我发现修改后的验证玛不能用)

      然后在c:\目录下建立一个temp目录