Zephir入门教程一

一、如何安装

 zephir-安装和初体验:http://blog.csdn.net/u011142688/article/details/51619811

二、如何使用

需要切到工作目录下,也就是converted下,开始编写代码,新建一个文件夹converted,在该文件下执行命令:

zephir init openresty

 Zephir入门教程一

进入openresty 目录修改json文件

/mnt/hgfs/Linux-Share/thinkphp5-study-line/converted/openresty$ vim config.json 
"description": "php openresty extend", "author": "Tinywan",

当前目录文件

Zephir入门教程一

进入Openresty 目录新建文件 redis.zep

Zephir入门教程一

namespace Openresty;
class Redis
{
    public static function init()
    {
        echo "hello Openresty !";
    }
}

目录结构

 Zephir入门教程一

 现在,需要告诉Zephir把我们的项目编译成扩展,这一步要在项目目录下执行:zephir build (要切换到:/mnt/hgfs/Linux-Share/thinkphp5-study-line/converted/openresty 目录下)

Zephir入门教程一

编译好的扩展文件在那里来?

Zephir入门教程一

修改PHP配置文件:sudo vim /opt/php-7.0.9/etc/php.ini

添加内容:extension=/mnt/hgfs/Linux-Share/thinkphp5-study-line/converted/openresty/ext/modules/openresty.so

重启Nginx和php-fmp 服务器,查看配置信息,以下表示编译成功了

public function test(){
    phpinfo();
}

 Zephir入门教程一

如何使用?

public function Openresty(){
    echo \Openresty\Redis::init(), "\r\n";
    echo "Openresty";
}

Zephir入门教程一

 三、遇到的错误

以下是在非root目录下运行的,所以要切换到root下运行就没问题; 

 

tinywan@tinywan:~/PHP7/zephir/converted/utils/utils$ zephir build 
Zephir\Exception: Extension namespace cannot be loaded

 

上一篇:Openresty实战应用(3)


下一篇:enginx:基于openresty,一个前后端统一,生态共享的webstack实现