不了解BPC是什么的翻看之前的帖子PHP編譯器BPC成功編譯workerman.
簡(jiǎn)言之,BPC可以將PHP代碼最終轉(zhuǎn)譯成C語(yǔ)言,然后編譯成動(dòng)態(tài)鏈接庫(kù)或者可執(zhí)行程序,實(shí)現(xiàn) PHP Native AOT.
6.1版本有兩個(gè)亮點(diǎn):
有了event擴(kuò)展,類似workerman之類的項(xiàng)目就可以應(yīng)用到生產(chǎn)環(huán)境了.
新版官網(wǎng) https://bpc.dev 可以在線體驗(yàn)BPC編譯器.
為減小最終可執(zhí)行文件的大小,默認(rèn)編譯器只鏈接了標(biāo)準(zhǔn)庫(kù),如果代碼中用到了其它擴(kuò)展,需要勾選上對(duì)應(yīng)的擴(kuò)展.不然肯定會(huì)報(bào) Call to undefined function xxx() ...
為了進(jìn)一步減小下載文件的大小,對(duì)可執(zhí)行文件做了gzip壓縮,下載回來(lái)后需要解壓后才能運(yùn)行.
bpc只支持linux,不支持windows. 如果非要在windows上運(yùn)行的話,可以安裝wsl.我剛測(cè)試了一下,從簡(jiǎn)單的hello world到稍復(fù)雜點(diǎn)的simple-http-client都可以正常運(yùn)行.
官網(wǎng) 得到的是啥? 就是執(zhí)行了命令然后啥也沒(méi)歐了,也沒(méi)有打包成c文件呀
最終會(huì)生成一個(gè)gz壓縮過(guò)的可執(zhí)行文件,下載回來(lái)解壓縮就能執(zhí)行了.如果你沒(méi)有得到gz文件的話,看看console的輸出是不是有語(yǔ)法錯(cuò)誤什么的,沒(méi)有編譯成功.
,編譯的是你自己的hello php文件
大佬你這很牛呀,現(xiàn)在webman workerman 這些能打包了嘛?可以做一個(gè)付費(fèi)的打包,打包成功后一次收費(fèi)多少,估計(jì)市場(chǎng)大大的有呀
現(xiàn)在是一個(gè)一個(gè)文件打包,不太靈活,整一個(gè)打包整個(gè)項(xiàng)目的,例如webman 就行,這個(gè)很多公司會(huì)有需求的,我們就有
GatewayWorker/workerman是可以的,最近一個(gè)項(xiàng)目在用. webman沒(méi)用過(guò). 編譯器的商業(yè)化還沒(méi)定,如果有需要,可以在公司層面進(jìn)行合作.
理論上linux 64位cpu都能支持,只不過(guò)需要把編譯器重新編譯一下,鏈接的動(dòng)態(tài)庫(kù)版本調(diào)一下就好.但目前沒(méi)有需求,就沒(méi)做.
目前只是我們公司自己的項(xiàng)目在用,如果你個(gè)人或者你公司有需要的話,可以發(fā)郵件到上面截圖里的郵箱,在商業(yè)化策略確定之前,license都免費(fèi)提供的.感謝關(guān)注.
可以直接生成exe文件不呢?