Zephir入门教程一
一、如何安装
zephir-安装和初体验:http://blog.csdn.net/u011142688/article/details/51619811
二、如何使用
需要切到工作目录下,也就是converted下,开始编写代码,新建一个文件夹converted,在该文件下执行命令:
zephir init openresty
进入openresty 目录修改json文件
/mnt/hgfs/Linux-Share/thinkphp5-study-line/converted/openresty$ vim config.json
"description": "php openresty extend",
"author": "Tinywan",
当前目录文件
进入Openresty 目录新建文件 redis.zep
namespace Openresty;
class Redis
{
public static function init()
{
echo "hello Openresty !";
}
}
目录结构
现在,需要告诉Zephir把我们的项目编译成扩展,这一步要在项目目录下执行:zephir build (要切换到:/mnt/hgfs/Linux-Share/thinkphp5-study-line/converted/openresty 目录下)
编译好的扩展文件在那里来?
修改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();
}
如何使用?
public function Openresty(){
echo \Openresty\Redis::init(), "\r\n";
echo "Openresty";
}
三、遇到的错误
以下是在非root目录下运行的,所以要切换到root下运行就没问题;
tinywan@tinywan:~/PHP7/zephir/converted/utils/utils$ zephir build
Zephir\Exception: Extension namespace cannot be loaded
Zephir入门教程一的更多相关文章
- 无废话SharePoint入门教程一[SharePoint概述]
一.前言 听说SharePoint也有一段时间了,可一直处在门外.最近被调到SharePoint实施项目小组,就随着工作一起学习了一下实施与开发.但苦于网上SharePoint入门的东西实在太少,导致 ...
- [转]无废话SharePoint入门教程一[SharePoint概述]
本文转自:http://www.cnblogs.com/iamlilinfeng/p/3026332.html 一.前言 听说SharePoint也有一段时间了,可一直处在门外.最近被调到ShareP ...
- typescript 入门教程一
##### 从今天开始,持续更新typescript入门教程系列.... 目前ts越来越火,主流的前端框架,好比*angular,vue 3*均是采用ts来编写,所有很多公司的项目都是用**ts**来 ...
- andorid jni入门教程一之helloworld
开发环境:windows2007, eclipse 做anroid越深发现用到底层开发的时候越多,但是我以前也没有搞过,因此现在打算好好学习学习.先从最简单的做起.正所谓万事开头难啊. 搞了近一天终于 ...
- 【Cocos2d入门教程一】Cocos2d-x环境搭建
在进行Cocos2d游戏开发前 我们先来配置一下环境,我们先来准备一下工具,我们所需要的工具分别为: 1.Cocos2d引擎 2.JDK 3.SDK 4.NDK 5.ANT 6.ADT 1.下载Coc ...
- Angular入门教程一
1 前言 前端技术的发展是如此之快,各种优秀技术.优秀框架的出现简直让人目不暇接,紧跟时代潮流,学习掌握新知识自然是不敢怠慢. AngularJS是google在维护,其在国外已经十分火热,可是国内的 ...
- Gemini.Workflow 双子工作流入门教程一:定义流程:流程图属性
简介: Gemini.Workflow 双子工作流,是一套功能强大,使用简单的工作流,简称双子流,目前配套集成在Aries框架中. 下面介绍本篇教程:流程定义:流程图属性. 步骤一:在流程管理的流程定 ...
- Unity -- 入门教程一
首先声明一下,我用的Unity版本是4.6.6,编译环境是VS2010,其余的我会慢慢介绍,安装的过程这里我就不做讲解了,度娘那会做的比我详细.安装包可以在最下面的联系方式找我要,现在开始进入主题. ...
- ibatis入门教程一
这几天研究ibatis玩,参考一篇贴子进行安装配置:蓝雪森林 选择这个帖子来跟随配置是因为这个帖子看着比较干净,但是我仍旧在配置得过程中出现了好几个问题,所以我决定在这个帖子的基础上将更多细节加上,做 ...
随机推荐
- Java开源博客My-Blog之docker容器组件化修改
前言 5月13号上线了自己的个人博客,<Docker+SpringBoot+Mybatis+thymeleaf的Java博客系统开源啦>,紧接着也在github上开源了博客的代码,到现在为 ...
- Mvc4_mvc4跟mysql语法
mvc4: 子页面:@section A{} 母页面:@RenderSection("A",false) false:别的页面没有定义为A的Section的话 也没事,layout ...
- npm install的几种命令形式区别
转自未来与传说.jigetage 我们在使用 npm install 安装模块的时候 ,一般会使用下面这几种命令形式: npm install moduleName # 安装模块到项目目录下 npm ...
- 萌新程序媛的首个作品,基于NoSQL的内容管理及低码开发平台
尽管入行有一段时间了,但之前还从来没想过要开发一款完整的软件产品.这个我跟朋友开发的第一款软件,希望大家帮我们多宣传推广.首个版本肯定有很多的不足,大家也给我们多提意见,还有很多规划中的功能要在之后的 ...
- openstack删除僵尸卷
问题描述: 最近在清理openstack环境,在删除cinder云硬盘时,一直发现有两个卷在删除中. 解决方法如下: 首先我们去cinder的数据库中找到这个卷,命令为: MariaDB [(none ...
- PAT甲题题解-1030. Travel Plan (30)-最短路+输出路径
模板题最短路+输出路径如果最短路不唯一,输出cost最小的 #include <iostream> #include <cstdio> #include <algorit ...
- thinkphp在wamp 配置去掉url中index.php方法
http://blog.csdn.net/youmypig/article/details/45008971
- Week11分数
- Android开发环境(发展演变)
初步接触android,要安装android开发工具时是使用eclipse,这是因为百度靠前的搜索项是eclipse来开 发android,而且那时还不知道android studio. 首先是下载配 ...
- TensorFlow常用API汇总
1.tensorflow的基本运作为了快速的熟悉TensorFlow编程,下面从一段简单的代码开始: import tensorflow as tf #定义‘符号’变量,也称为占位符 a = tf.p ...