Linux下安装PHP的插件Yaf及其代码生成

来源:互联网 发布:php 参数加密 编辑:程序博客网 时间:2024/05/22 06:51

      Yaf,全称 Yet Another Framework,是一个C语言编写的PHP框架,是一个用PHP扩展形式提供的PHP开发框架, 相比于一般的PHP框架, 它更快. 它提供了Bootstrap, 路由, 分发, 视图, 插件, 是一个全功能的PHP框架。最大特点就是简单、高效、快速,已经在百度和新浪微博经过大平台验证。

      Yaf的作者Laruence(惠新宸),是国内首位PHP语言开发组成员,Zend兼职顾问, Yaf, Yar, Yac, Opcache等项目作者、维护者,曾经供职与雅虎、百度,目前是新浪微博首席PHP技术顾问。

      “微博每天PV数十亿,产生数T级别的数据, 处理过程中任何一个毫秒的优化,一个byte的减少,对我们都是意义重大,这个工作非常有意思也很有挑战, 到目前为止,我们团队已经通过一些不改动业务逻辑的优化方法,把微博首页的响应时间降低了44%,TPS提升了78%。另外,我们团队还负责技术提升和沉淀工作,这也是一项很有意思的工作,因为分享能让我们收获更多。”

一、下载并安装Yaf扩展

# wget https://github.com/laruence/php-yaf/archive/master.zip# unzip php-yaf-master.zip# cd php-yaf-master# /usr/local/php/bin/phpize# ./configure --with-php-config=/usr/local/webserver/php/bin/php-config# make && make install

 

phpize是什么东西呢?phpize是用来扩展php扩展模块的,通过phpize可以建立php的外挂模块

 二.添加扩展配置到php.ini

在/etc/php.ini文件里添加一行


[yaf]extension=yaf.soyaf.environ="product"

重启php 即可.

 

运行phpinfo();

 三.利用Yaf自带的快速代码生成工具yaf_code_generator生成代码

在本文提供的github地址下载的文件中含有yaf_code_generator工具,目录在tools/cg/,在linux中执行:

 

# cd tools/cg# /usr/local/webserver/php/bin/php yaf_cg app

 执行以上代码,将在 output/test 下生成一份Yaf的骨架代码

/usr/local/webserver/php/bin/php为我的php二进制文件目录(即php.exe程序),也就是linux命令行下执行php文件,如果不想每次都执行这么长的php安装路径,我们可以将/usr/local/webserver/php/bin/php 这个文件复制到/usr/sbin下,php将被安装位linux命令

# ls output/app 

如下图

然后将app下的代码复制到你指定的WEB目录,这样你就可以利用Yaf框架开发产品了。对于Yaf的安装和代码生成,官方资料都是一带而过,本文在这里详细描述下,Yaf其他的就研究官方资料吧!

# cp -a /home/software/php-yaf-master/tools/cg/output/app/* /home/wwwroot/baidu171/


 

 

遇到过的问题

 

2013年11月30日出现如下现象:

Warning: shell_exec() has been disabled for security reasons

警告:shell_exec()已经出于安全原因关闭

出现这现象的原因php配置文件php.ini默认关闭了shell_exec;

解决办法:

# vi /usr/local/php/etc/php.ini# /shell_exec
disable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,proc_open,proc_get_status,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,fsocket

 

去掉disable_functions中的shell_exec即可。

 

作者:http://www.laruence.com/

手册:http://yaf.laruence.com/manual/

PHP视频教程