zoukankan      html  css  js  c++  java
  • require 和 file_get_contents

    require
    require_once
    include
    include_once
    curl
    file_get_contents
    ---各种选择的比较


    还有这么复杂的说法,怎么办?

    在开发过程中发现,用require来加载一个很大(几百K,甚至几兆)的配置文件时,会造成响应超时。如果把这个配置文件的内容序列化后,用file_get_contents获取文件然后反序列化的方法来加载,就会快很多。

    经过近两周的研究,大概知道了其中的原因。

    首先,还从PHP的流程说起,PHP其实有两个流程,一个是启动的流程,一个是响应请求的流程。PHP作为Apache的一个模块,向Apache注册了两个函数,一个是Aapche启动的时候运行的函数:sapi_startup;一个是Apache接收到请求的时候调用的函数:php_handler

    启动的流程:

    Apache启动 

        ->  sapi_startup

             -> php_module_startup (PHP启动总开关)

                 -> zend_startup (启动Zend引擎,包括初始化全局变量,初始化 compile 和 execute 函数

    相应请求的流程:

    Apache收到请求

        ->  sapi_startup

             -> zend_activate (包括初始化编译器、初始化执行器、启动扫描器)

                 -> zend_compiler (语法分析、语意分析、生成opcode)

                     -> zend_execute (执行每个opcode)

                         -> zend_deactive(清理本次请求用到的数据)

  • 相关阅读:
    最短路径BellmanFord , Dijsktra
    minhash
    eclipse 中使用tomcat
    http 服务
    MongoDB小记
    java post 请求
    hadoop拾遗(五)---- mapreduce 输出到多个文件 / 文件夹
    weka数据挖掘拾遗(二)---- 特征选择(IG、chi-square)
    weka数据挖掘拾遗(一)---- 生成Arff格式文件
    基于SimHash的微博去重
  • 原文地址:https://www.cnblogs.com/qinqiu/p/5828408.html
Copyright © 2011-2022 走看看