php版本:php5.3.27

    1、php加速软件eaccelerator、zend、xcache (个人推荐)

       地址:http://linuxboys.blog.51cto.com/9150052/1575547

    2、使用tmpfs(内存文件系统)作为缓存加速缓存的文件目录。

       mount -t tmpfs /dev/shm -o size=256m

       mount -t tmpfs /dev/shm /tmp/eacclelerator

       #上传图片缩略图处理的目录

       #百度百科tmpfs:

    3、参数调优:

    php.ini的调优同样 适合nginx 、apache ,但php-fpm.conf只适合nginx+fcgi的配置。

    (1)   338 safe_mode = Off   修改为On   #启用安全模式,默认没有打开,

        解释:控制一些php中的函数执行,比如system(),同时把很多文件操作的函数进行权限控制,打开后php将检查当前脚本的拥有者是否和被操作的文件的拥有者相同

           添加:disable_functions = system,passthru,exec,shell_exec,popen,phpinfo

           #关闭可以查看php信息的phpinfo()等函数,如果打开安全模式,此处不需要执行。

    (2)、 435 expose_php = On   修改为Off     #关闭php的版本信息

    (3)703 register_globals = Off   修改为On    #关闭全局变量的注册

         解释:在php中提交的变量,包括使用POST或者GET提交的变量,都将会注册为全局变量,可以直接访问,这是不安全的。

     (4)、756 magic_quotes_gpc = Off   修改为On    #自动把用户提交对sql的查询进行转换;

         解释:sql注入特别危险,轻则***,重的沦陷,特别小心啊。

     (5)、538 display_errors = Off      #禁止错误提示,默认为OFF,测试开启即可。

          521 error_reporting = E_ALL & ~E_DEPRECATED     #报错信息显示级别,一般为警告以上。

    (6)、 549 display_startup_errors = Off   修改为On     #记录错误日志

            560 log_errors = /app/logs/php_error.log        #定义错误日志的位置

            #注意给文件必须运行apache用户和组具有写的权限;

          #564 log_errors_max_len = 1024     #logerror的最大长度

          #575 ignore_repeated_source = Off  #忽略重复的错误


部分参数优化:

     444 max_execution_time = 30

        #每个脚本最大允许执行时间(秒),0表示没有限制;

         这个参数有助于阻止劣质脚本无休止的占用资源服务器

         该指令仅影响脚本的运行时间,任何其它花费在脚本运行之外的时间

         如用system()、sleep()函数的使用,数据库查询,文件上传等,都不包括在内

         在安全模式下,不能用ini_set()在运行是改变这个设置

    465 memory_limit = 128M

       #一个脚本所能够申请到的最大内存字节数(可以使用k和M作为单位)

        这个有助于防止劣质脚本消耗服务器上的所有内存

        能够使用该指令必须在编译时使用“--enable-memory-limit” 配置选项

        如果要取消内存限制,则必须将其设置为-1.

        设置了该指令后,memory_get_usage()函数将变为可用;

        一般设置为32、64已经查不多了 。

    454 max_input_time = 60 

        ;每个脚本解析输入数据(POST,GET,upload)的最大允许时间(秒)

        -1表示不限制

    

    892 upload_max_filesize = 2M

        ;上传文件的最大许可,根据需求自行修改;

    

    903 allow_url_fopen = On 

        ;禁止打开远程地址

    855 ;cgi.fix_pathinfo=1

        ;防止nginx文件烈性错误解析的漏洞

    

   1462 session.save_handler = files

        ;存储和检索与会话关联数据的处理器名字,默认文件(files)

        ;如果想要使用自定义的处理器(如基于数据库的处理器),可用“user”

        ;设为"memcache" 则可以使用memcache 作为回话处理器(需要指定"--enable-memcache-session"编译选项)

   1491 ;session.save_path = "/tmp" ;默认地址

        ;传递给存储处理器的参数。对于files处理器,此值是创建回话数据文件的路径。

         注调整:session.save_handler = memcache

               session.save_path = "tcp://10.0.0.0:11211"