国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

使用Zephir來快速編寫高性能PHP二進制拓展

AZmake / 2481人閱讀

摘要:這里我們使用來安裝我們的開發環境,的安裝參考官方文檔使用安裝編譯器首先就是根據我們目標版本拉取對應的編譯器鏡像,這里我們版本是,于是使用這條命令然后創建文件,文件內容如下對這個文件加上可執行權限這樣我們就裝好了編譯器創建

這里我們使用Docker來安裝我們的開發環境,docker的安裝參考官方文檔https://docs.docker.com/install/
使用Docker安裝Zephir編譯器

首先就是根據我們目標PHP版本拉取對應的Zephir編譯器鏡像,這里我們PHP版本是7.0,于是使用這條命令:

docker pull phalconphp/zephir:7.0

然后創建/usr/local/bin/zephir文件,文件內容如下:

#!/usr/bin/env bash

docker_bin="$(which docker 2> /dev/null)"

# 5.4, 5.5, 5.6, 7, 7.0, latest
PHP_VERSION=7.0

${docker_bin} run -it --rm 
    --privileged=true 
    -e ZEND_DONT_UNLOAD_MODULES=1 
    -v $(pwd):/zephir 
    phalconphp/zephir:${PHP_VERSION} "$@"

ret=$?

if [ ${ret} -ne 0 ]; then
    errors="$(pwd)/compile-errors.log"
    if [ -e ${errors} ]; then
        cat ${errors}
    fi
fi

對這個文件加上可執行權限:

sudo chmod a+x /usr/local/bin/zephir

這樣我們就裝好了Zephir編譯器:

$zephir version
0.9.7
創建一個PHP二進制庫項目

這里我們創建的項目名叫做utils,使用Zephir腳手架初始化項目代碼:

zephir init utils

編寫一個zep文件:

$ cat utils/utils/greeting.zep 
namespace Utils;

class Greeting
{

    public static function say()
    {
        echo "hello world!
";
    }

}
編譯這個項目
$cd utils
$ls
config.json ext utils
$zephir build

這樣我們就得到了我們編譯的so庫文件:ext/modules/utils.so

測試以及使用這個so庫文件

通過php -i | grep extension_dir得到我們PHP拓展so文件的安裝目錄是:/usr/lib/php/20151012/下面,于是2條命令完成cli模式PHP的拓展安裝,fpm模式也類似,(通過php -i | grep "Scan this dir for additional .ini files"獲取ini配置文件目錄):

sudo cp ext/modules/utils.so /usr/lib/php/20151012/
echo "extension=utils.so" | sudo tee /etc/php/7.0/cli/conf.d/30-zephir-dev.ini

最后我們,寫個PHP文件來測試下這個so庫是否安裝成功:

$cat > test.php <<_EOF

得到結果:

object(UtilsGreeting)#1 (0) {
}
hello world!
參考

https://hub.docker.com/r/phal...

https://docs.zephir-lang.com/...

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/28224.html

相關文章

  • PHP 擴展開發】Zephir 簡介

    摘要:什么是是一種中間語言,以接近的語法來編寫代碼,然后轉換編譯成擴展,旨在簡化擴展的創建和可維護性。如果成功,會自動生成文件到目錄你需要編輯填加擴展測試一下就這樣,你也會擴展開發了附附編譯擴展的方法 什么是 Zephir Zephir 是一種中間語言,以接近 PHP 的語法來編寫代碼,然后轉換編譯成 PHP 擴展,旨在簡化 PHP 擴展的創建和可維護性。利用編譯來提高性能和資源消耗,又不需...

    arashicage 評論0 收藏0
  • PHP7 安裝Phalcon框架

    摘要:是什么是開源全功能棧使用擴展編寫針對高性能優化的框架。也是松耦合的,可以根據項目的需要任意使用其他對象。安裝支持版本的不支持普通方式的編譯安裝,只能通過安裝。因此安裝之前,請先安裝。 Phalcon 是什么? Phalcon 是開源、全功能棧、使用 C 擴展編寫、針對高性能優化的 PHP 5 框架。 開發者不需要學習和使用 C 語言的功能, 因為所有的功能都以 PHP 類的方式暴露出來...

    kidsamong 評論0 收藏0
  • Zephir--最簡單的php擴展開發工具

    摘要:更多關于的技術文章的擴展是用語言編寫,是語言引擎,內核。見提供了一種類似的高級語言語法的方式,來自動生成擴展的語言代碼,使編寫擴展變得非常的簡單。直接修改該文件的代碼,使用原擴展的編輯方法也是可以滴。 更多關于PHP的技術文章http://www.codefrom.com/ php的擴展是用c語言編寫,Zend是語言引擎,PHP內核。在實際編寫php擴展的時候,需要使用大量的...

    dinfer 評論0 收藏0
  • Zephir入門 —— Hello world篇

    摘要:概述是一個開源的用于簡化擴展的創建和維護的語言。它使得不擅長的開發人員也能寫出擴展。是縮寫,讀音為。然后我們在里調用方法正常的話會輸出。至此我們也完成了我們的第一個擴展。 概述 Zephir是一個開源的用于簡化PHP擴展的創建和維護的語言。它使得不擅長C/C++的PHP開發人員也能寫出PHP擴展。Zephir是Zend Engine/PHP/Intermediate縮寫,讀音為zep...

    Vicky 評論0 收藏0
  • PHP擴展開發教程1 - 相關開發技術對比及介紹

    摘要:四使用語言開發是我重點推薦的擴展開發框架,簡明易懂,功能強大,開發效率高,代碼易維護,執行速度快。優點三支持,的擴展開發有兩套擴展開發框架,分別支持,,雖然框架代碼有兩個,但是接口卻是一樣的。 PHP擴展是高級PHP程序員必須了解的技能之一,對于一個初入門的PHP擴展開發者,怎么才能開發一個成熟的擴展,進入PHP開發的高級領域呢?本系列開發教程將手把手帶您從入門進入高級階段。本教程系列...

    alaege 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<