自己编译、创建php扩展
第一步:生成代码PHP为我们提供了生成基本代码的工具 ext_skel。这个工具在PHP源代码的./ext目录下
1lnmp1.3/src/php-7.0.7/ext/ext_skel --extname=say
extname参数的值就是扩展名称。执行ext_skel命令后,这样在当前目录下会生成一个与扩展名一样的目录此时会有提示信息
第二步,修改config.m4配置文件 config.m4的作用就是配合phpize工具生成configure文件。configure文件是用于环境检测的。检测扩展编译运行所需的环境是否满足。现在我们开始修改config.m4文件。
1vi ext/say/config.m4
打开,config.m4文件后,你会发现这样一段文字。
123456789101112 dnl If your extension references something external, use with:dnl PHP_ARG_WITH(say, for say support,dnl Make sure that the comment is aligne ...
简单易懂的理解区块链
作者:汪乐-LaiW3n链接:https://www.zhihu.com/question/37290469/answer/107612456
正文事情是这样的,最近我的室友Hasaki一直在问我区块链和比特币的事情,我尝试了很多种不通的姿势以求简单通俗形象生动地跟他解释什么是区块链技术,但是最后都失败了。因此我萌生了要写一篇BlockChain for Babies(又名:如何向你的弱智室友解释区块链)的想法,以求能简单直观生动形象地向对区块链技术不了解但是想知道区块链是什么的人介绍区块链技术或者比特币。
因为面向的读者是不想知道具体技术实现只想了解区块链的人群,因此本文避开了一些底层和算法细节,采用比较主观的方式来展示笔者对区块链技术的感性认识。如果你只是对区块链感兴趣,并没有深入学习的打算,或者只是想像我一样在别人问起来的时候装逼,本文应该是一篇很好的“导论”。
总览区块链本质上是一个去中心化的分布式账本数据库(感谢程剑宇)指出:在与比特币相关的区块链应用中可使用这一术语,但区块链技术可能并不包含“账本”)。其本身是一串使用密码学相关联所产生的数据块,每一个数据块中包含了多次比特 ...
centos下安装Mattermost
Mattermost 是一个 Slack 的开源替代品。
Mattermost 采用 Go 语言开发,这是一个开源的团队通讯服务。为团队带来跨 PC 和移动设备的消息、文件分享,提供归档和搜索功能。一、下载代码
12345wget https://releases.mattermost.com/3.10.0/mattermost-3.10.0-linux-amd64.tar.gztar -xvzf mattermost-3.10.0-linux-amd64.tar.gzcd mattermostsudo mv mattermost /home/wwwsudo chown www:www /home/www/mattermost -R
二、Mysql配置
123create user 'mmuser'@'localhost' identified by 'mmuser-password';create database mattermost;grant all privileges on mattermost.* to ...
2016年12月5日阿里云王坚清华演讲实录
12月5日下午消息,阿里云王坚带其新书《在线》做客清华大学,在现场王坚分享了自己对于当前国内互联网市场的一些感悟,王坚称,国内互联网到今天还没有机会谈上半场、下半场的事情,但是,当前中国互联网的天变了。
王坚:很长时间没到清华来了,我经常拿清华调侃,大概七八年以前,在美国开一个研讨会,当时有人问我中国和美国差距有多大。我就拿清华调侃了,按清华教授来讲,中国和美国的差距至少有两个可以比。一个是就差三个月,一个差三十年。三个月什么概念?就好比MIT的教授做出来一个研究,清华的学生三个月内就能做出来。但同样的,如果MIT教授不做这个事情,清华的教授三十年也不会做这个研究。其实讲这个事情和今天的背景有关系,今天中国人对互联网的拥抱和其他国家不一样的地方,我觉得中国人过去也可以到海边去,但中国人从来没有想过出海。大航海时代,西班牙人、葡萄牙人就想着出海了,变成了基础设施,就产生了新的大陆。其实互联网就是一片大海,但是今天大部分人,就像海军在你家边上,从来没想着一条船出去。今天的感受只有中国人会是第一个出海的。
互联网到今天根本还没有机会谈上半场、下半场的事情,用我自己的话来讲,也是我书里提到的 ...
阿里云坚持5年才有的成功--王坚
这个落泪的男人叫王坚前段时间新闻报道,说一个名叫Watson的人工智能,花十几分钟读完2000万页医疗文献之后,解决了医生都束手无策的病情。听着感觉这人工智能跟打败世界棋手李世石的AlphaGO(阿尔法狗)相比弱爆了。但要知道那可是2000万页的医疗文献,就是堆在地上,都有四五千米高!(世界最高的迪拜塔也才800多米高而已),而它只用十几分钟就读完了。所以这家伙也是很厉害的。

迪拜塔
当然,不管是Watson还是阿尔法狗,它们牛逼的前提必须有大数据和云计算提供支持,所以现在很多创业者开始搞大数据公司。但在我看来,他们都已经晚了。因为10年前就有一个男人预感到了今天这种情况,并且成功“忽悠”马云加入到大数据研发中。这个人就是我今天要给大家讲的男主人公:王坚。
{ return gmdate("Y-m-d H:i:s", \PHPExcel_Shared_Date::ExcelToPHP($days));}
或者
1234567891011121314151617181920private function excelTime($date, $time = false) { if (function_exists('GregorianToJD')) { if (is_numeric($date)) { $jd = GregorianToJD(1, 1, 1970); $gregorian = JDToGregorian($jd + ...
scandir函数禁用,导致WordPress后台主题中只显示一个
今天在服务器上安装WordPress,发现在WordPress后台主题中只显示一个主题不显示其他主题,代码在本地运行时就一切正常,能够显示主题列表
异常如下
正常状况本地是正常的,正常效果如下。
原因出现这种WordPress主题无法识别问题的原因:服务器环境禁用了 scandir函数,导致WordPress无法正常缓存主题。
查看php.ini,果然,在“disable_funcions”后,有“scandir”。
删除禁用后,重启php服务,一切就回复正常了。
原理查询php手册,可以了解到,scandir函数 — 列出指定路径中的文件和目录
12//返回一个 array,包含有 directory 中的文件和目录。 array scandir ( string $directory [, int $sorting_order [, resource $context ]] )
gitlab利用webhook自动部署代码
项目使用了gitlab托管,以前部署代码都是登录服务器,然后git pull代码。这样每次需要发布代码,都需要登录,太繁琐。
很早就了解到gitlab支持webhook,能够自动同步代码。今天尝试搭建成功了。
原理介绍1、配置gitlab当push动作的时候,访问服务器上的一个链接比如pangxieke.com/tb.php
2、tb.php里面写着一行代码,会让服务器git pull相应项目的代码到web目录。
3、pull结束,代码就在web目录了,我们只要重新访问网站就可以了。
核心就是push的时候,gitlab会调用服务器上的脚本,服务器上的脚本就会从git重新拉取项目文件。同时还需要加入安全性的设计。
配置ssh密钥先在服务端生成一对你的SSH密钥,因为之后服务器要用ssh方式免账号密码从gitlab上pull代码。用ssh-keygen在服务器上生成密钥,或者你已经有密钥了就跳过这一步。
因为项目配置的nginx和php的用户为www,所以代码执行时以www用户,所以需要www用户的ssh密钥
服务器添加www的密钥修改www用户,允许登录,项目配置完成后,再修 ...
12306技术复杂吗?
说到12306,很多人都十分无奈,想到12306的丑陋的界面,难用的UI,动不动失效的网页,还有自己买的票在订单里半天找不到等各类问题。做好一个系统本身并不容易,但是12306是花了2亿多块钱建设的。作为一个技术人员,可以评估一下其技术难度。
对于12306的用户规模来讲,其实算是挺大的。但是应对用户规模的增涨来说,其实已经有很多成熟的方案了,现在秒杀活动,动不动上千万的并发。12306按这些方案走就不会有大的问题。
12306的商品12306的商品只有一种:火车座位
不管是那一趟车,还是那个时间的车,它只卖位置。
计费性质可以看成商品租用
所以跟车站结合起来,就相当于他卖时间的商品。
因此我们将站与站之间的位置看成是一个商品租用即可。
假设是从上海到北京的火车,中间有几个站,就是几个商品租用。
如果是从上海到济南有三个站与站的间隔,就相当于是买了三个商品租用。就相当于按时计价的商品。去过游乐园的同学都应能理解。
定价系统所以通常对于任何一趟车,都会有规定站与站之间的票价。这就是定价系统。定价系统是完全人工设定的系统,所以我们不在这里深入的讨论。
有了定价系统后,当用户选择完起始位置, ...
Envoy:颠覆传统, 从前台开始
前言互联网逐步颠覆传统行业,这不是一句大话。公司或者大楼入口处的访客登记簿也许大家都会看到,也习以为常。无论面试找人谈合作,访问某公司时一般需要在前台留下自己的基本信息,同时领取访客专属门卡。而且很多公司需要贴一个二货一样的红色「访客」标签走来走去。
这种小本本填写姓名电话感觉像上世纪的做法,崇尚高科技形象炫酷拽的互联网公司,当然要有科技范。既然前台员工都要找漂亮 mm,那么访客管理工具也要高科技啦。
硅谷就有一家公司,发现了这个小商机。Envoy智能访客管理系统,估值2亿美元的智能访客管理系统。Envoy(envoy.com)专门为科技范儿的互联网公司量身打造,简它将整个访客管理流程电子化,提供从登记信息到通知负责人再到访客管理的一条龙服务,大大提升了前台效率。
传统方式弊端传统的访客管理是使用小本本登记。小本本登记信息不仅显得陈旧落后,而且不方便管理。如需查找某一天来访记录,只能靠前台手工查找。而且传统的访客接待,都需要前台接待完后,通知接待人,不够及时和智能。繁琐的信息录入,人员通知,也占用了大量前台工作人员时间。有了 Envoy,只要塞给访客一只 iPad,让其在 iPad 上 ...