婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > PHP中opcode緩存簡單用法分析

PHP中opcode緩存簡單用法分析

熱門標簽:上海做外呼線路的通信公司 電話機器人銷售主要負責什么 四川保險智能外呼系統供應商 地圖標注專員怎么樣 寧波外呼營銷系統 長沙做地圖標注公司 房產中介用的是什么外呼系統 福建銀行智能外呼系統價格 遼寧ai電銷機器人價格

本文實例講述了PHP中opcode緩存簡單用法。分享給大家供大家參考,具體如下:

1.什么是opcode

解釋器分析代碼之后,生成可以直接運行的中間代碼,就稱做操作碼,opcode

2.解釋器與編譯器的區別

解釋器是生成了中間代碼后直接運行中間代碼,運行時的控制權還是在解釋器手里。

編譯器則是生成了中間代碼之后還進一步優化代碼,生成可以直接運行的目標程序 ,但不執行,等待用戶觸發執行,他的控制權在目標程序,和編譯器無關。

3.php是解釋型語言,他的原理與編譯有點相似,包括詞法分析,語法分析,語義分析.....,php解釋器的核心引擎就是zend engine

4.php如何查看一段代碼的opcode

安裝php的parsekit擴展,通過擴展的api就可以查看php的opcode,如parsekit_compile_string()

php -r "var_dump(parsekit_compile_string('print 1+1;'));"

5.opcode有生成

首先要經過詞法分析,腳本代碼可以看做是一系列單詞組合,解釋器要對這些單詞進行分類,并打上記號

比如print,我們查看php源碼包中的zend/zend_language_scanner.l在這個文件中我們就可以查找到pirnt對應的標記。T_PRINT

找到標記之后接下來就是語法分析,在zend/zend_language_parser.y中,我們可以找到T_PRINT對應的函數

接著在zend/zend_compile.c中找到這個函數實現代碼,這個函數就是實現 了opcode的轉換。所有的opcode都是用戶整數來表示 的。

6、 開啟opcode緩存

生成opcode是需要系統開銷的,每一次執行都要生成一次opcode,這樣的開銷還是可觀的,所以php的優化必須開啟opcode的緩存,來避免重復的編譯。

php的opcode緩存有APC,eAccelerator,XCache,這些都是把opcode放在共享內存中。

以APC為例:在php.ini中設置

apc.cache_by_default = on

通過

?php print_r(apc_cache_info());?>

可以查看緩存的情況,

7.opcode緩存過期

opcode緩存是會過期的,如果過期就要得新生成一次,當然也可以跳過過期檢查的機制,在php.ini中設置

apc.stat=off

這樣程序代碼的修改得通過重啟服務器來生效。

8.腳本的跟蹤與分析,可以使用xdebug來跟蹤,用xdebug可以實現性能跟蹤器,找到程序的執行瓶頸,從而優化程序。

xdebug.profiler_output_dir = /tmp/xdebug
xdebug.profiler_output_name = cachegrind.out.%p

xdebug的函數跟蹤:

xdebug.trace_output_dir = /tmp/xdebug
xdebug.trace_output_name = trace.%c

window下可以用wincachegrind查看xdebug的報告文件。

更多關于PHP相關內容感興趣的讀者可查看本站專題:《php緩存技術總結》、《php面向對象程序設計入門教程》、《PHP基本語法入門教程》、《PHP數組(Array)操作技巧大全》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》

希望本文所述對大家PHP程序設計有所幫助。

您可能感興趣的文章:
  • 為PHP5.4開啟Zend OPCode緩存
  • PHP OPCode緩存 APC詳細介紹
  • 利用PHP擴展vld查看PHP opcode操作步驟
  • 深入理解PHP之OpCode原理詳解
  • 理解php原理的opcodes(操作碼)
  • PHP內核學習教程之php opcode內核實現
  • 如何使用PHP Embed SAPI實現Opcodes查看器
  • PHP7如何開啟Opcode打造強悍性能詳解

標簽:澳門 佛山 宜春 常德 延安 深圳 宿遷 工商登記

巨人網絡通訊聲明:本文標題《PHP中opcode緩存簡單用法分析》,本文關鍵詞  PHP,中,opcode,緩存,簡單,用法,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《PHP中opcode緩存簡單用法分析》相關的同類信息!
  • 本頁收集關于PHP中opcode緩存簡單用法分析的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 绍兴县| 偃师市| 延安市| 枞阳县| 武安市| 乐陵市| 花莲县| 萝北县| 明溪县| 汽车| 秦皇岛市| 望都县| 建水县| 乡宁县| 祁阳县| 嘉义县| 农安县| 通辽市| 汤原县| 枝江市| 蒲江县| 怀远县| 微山县| 广水市| 红桥区| 宣威市| 宣化县| 潼南县| 河间市| 宜宾市| 穆棱市| 昂仁县| 南京市| 拜城县| 当阳市| 万州区| 资阳市| 巴马| 得荣县| 喀什市| 会东县|