通过关闭一些不必要的功能来实现优化。
方法就是设置disable_functions
比如关闭以下功能:
disable_functions=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这个目录也会被访问得到
对php.ini优化
- ;extension=php_gd2.dll 将前面的冒号去掉,支持GD库
- output_buffering = Off 输出缓存允许你甚至在输出正文内容之后发送 header(标头,包括cookies)行 其代价是输出层减慢一点点速度。你可以使用输出缓存在运行时打开输出缓存, 或者在这里将指示设为 On 而使得所有文件的输出缓存打开。
- output_handler = ; 你可以重定向你的脚本的所有输出到一个函数,那样做可能对处理或以日志记录它有用。例如若你将这个output_handler 设为ob_gzhandler, 则输出会被透明地为支持gzip或deflate编码的浏览器压缩。设一个输出处理器自动地打开输出缓冲。
- 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解决办法
可以这样分析:
- zend所需的dll文件所在目录给的权限必须有读取和运行的权限
- 是否使用的2003,设置过应用池,比如池中限制了什么,调整一下再试试看是否好了
- upload_tmp_dir是否设置。upload_tmp_dir是用来定义上传文件存放的临时路径,可以给其定义一个绝对路径,例如:upload_tmp_dir = d:\upload 此时d:\upload目录必须有读写权限。
- session.save_path是否设置正确。解决的方法是将session.save_path和session.cookie_path 设置置为session.save_path = c:\temp session.cookie_path = c:\temp然后在c:\目录下建立一个temp目录