新聞中心
本篇內(nèi)容介紹了“PHP擴(kuò)展模塊opcode的安裝方法”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
創(chuàng)新互聯(lián)公司主要從事網(wǎng)站制作、成都網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)南平,10年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來(lái)電咨詢建站服務(wù):18982081108
Opdumper
安裝
Opdumper的源碼已經(jīng)托管在github上,其地址為:https://github.com/ericzhang-cn/opdumper??梢酝ㄟ^(guò)以下命令克隆源代碼:
git clone https://github.com/ericzhang-cn/opdumper.git
Opdumper是一個(gè)標(biāo)準(zhǔn)的PHP Extension,安裝方法如下:
首先將Opdumper源碼放到PHP源碼包的ext/opdumper目錄下,進(jìn)入此目錄執(zhí)行如下命令:
phpize ./configure make make install
然后在php.ini中添加一行配置:
extension=opdumper.so
目前opdumper支持PHP>=5.3,在Linux和MacOS下測(cè)試通過(guò),Windows下未做測(cè)試。
CLI API
Opdumper支持類似vld的命令行方式輸出opcode,只需在執(zhí)行php命令時(shí)通過(guò)-d參數(shù)將opdumper.active=1傳入。例如我們有一個(gè)foo.php:
執(zhí)行如下命令:
php -d opdumper.active=1 foo.php
結(jié)果如下:
PHP_FUNCTION API
Opdumper還支持vld不支持的PHP_FUNCTION API,Opdumper提供了兩個(gè)PHP函數(shù):od_dump_opcodes_string和od_dump_opcodes_file。前者接受一個(gè)字符串作為產(chǎn)生,字符串是一段PHP代碼;后者接受一個(gè)PHP文件作為參數(shù),返回值均是一個(gè)存有opcode結(jié)果的PHP數(shù)組。以od_dump_opcodes_file為例,我們?cè)趂oo.php同一目錄下再寫(xiě)一個(gè)bar.php:
執(zhí)行結(jié)果如下:
array(3) { [0]=> array(8) { ["lineno"]=> int(2) ["opcode"]=> string(11) "ZEND_ASSIGN" ["op1_type"]=> string(2) "CV" ["op2_type"]=> string(5) "CONST" ["result_type"]=> string(0) "" ["op1"]=> string(2) "~0" ["op2"]=> string(5) "hello" ["result"]=> string(0) "" } [1]=> array(8) { ["lineno"]=> int(3) ["opcode"]=> string(9) "ZEND_ECHO" ["op1_type"]=> string(2) "CV" ["op2_type"]=> string(6) "UNUSED" ["result_type"]=> string(6) "UNUSED" ["op1"]=> string(2) "~0" ["op2"]=> string(6) "UNUSED" ["result"]=> string(6) "UNUSED" } [2]=> array(8) { ["lineno"]=> int(5) ["opcode"]=> string(11) "ZEND_RETURN" ["op1_type"]=> string(5) "CONST" ["op2_type"]=> string(6) "UNUSED" ["result_type"]=> string(6) "UNUSED" ["op1"]=> string(1) "1" ["op2"]=> string(6) "UNUSED" ["result"]=> string(6) "UNUSED" } }
Opdumper的Web服務(wù):Opcode Dumper
坦白說(shuō),安裝PHP模塊還是挺麻煩的。所以為了方便朋友們查看opcode,我為Opdumper搭建了一個(gè)在線Web服務(wù):http://supercompiler.com/app/opcode_dumper。
Web頁(yè)面訪問(wèn)
只要訪問(wèn)這個(gè)頁(yè)面,在編輯框中輸入或粘貼進(jìn)PHP代碼,就可以快速看到相應(yīng)的opcode:
同時(shí),也可以將結(jié)果下載到本地(CSV文件格式)。
HTTP API方式訪問(wèn)
您可以通過(guò)訪問(wèn)如下API獲取PHP代碼的opcode:
URI: http://supercompiler.com/api/dump_opcodes
Method: POST
Params: php_script=[您的PHP代碼]
返回值為JSON格式,成功時(shí)success字段為”true”,data字段存儲(chǔ)opcodes;失敗時(shí)success字段為”false”,msg字段存放失敗原因。
由于跨越的關(guān)系,目前只能使用Curl而不能使用Ajax方式調(diào)用這個(gè)API,后續(xù)會(huì)為其增加JSONP接口。
“PHP擴(kuò)展模塊opcode的安裝方法”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
分享文章:PHP擴(kuò)展模塊opcode的安裝方法
網(wǎng)站網(wǎng)址:http://fisionsoft.com.cn/article/ippoed.html