ubuntu下安装yaf框架

参考
http://yaf.laruence.com/manual/yaf.install.html

yaf下载:
https://pecl.php.net/package/yaf

版本选择
2.3.5如下版本适用于php5.2 ~ 5.x 的环境
3.0 以上版本适用于php7及以上环境

首先要找到php的安装目录,执行info.php,查看php路径
Configuration File (php.ini) Path 	/etc/php5/apache2

再查找phpize的地址在哪里,
whereis phpize


而后cd 到yaf的解压缩目录,执行

     
/usr/bin/phpize

若是不是在yaf的解压缩目录下,没.m4文件,会报错
Cannot find config.m4.

  Make sure that you run /usr/local/bin/phpize in the top level source directory of the module


再执行
    
./configure --with-php-config=/usr/bin/php-config


要注意,必须先安装pcre。若是没有会报错
pcre.h: No such file or directory


安装 pcre
sudo apt-get install libpcre3-dev


再执行
make

    
最后执行,若是不加sudo,可能有权限问题。由于要建立folder
sudo make install

最后提示:
Installing shared extensions:     /usr/lib/php5/20121212/

而后在php.ini中载入yaf.so, 重启PHP.
vi /ext/php5/apache2/php.ini


vi后可直接‘/extension_dir '查找,找到后多是这样的:
extension_dir  = "./"

需修改为:
extension_dir  = "/usr/lib/php5/20121212/"   (注意是so文件的所在)
extension=yaf.so
最后保存退出! :wq!

重启
service apache2 restart
或者
sudo /etc/init.d/apache2 restart


重启后,再打开info.php 会看到
yaf support	Yaf logo enabled
Version 	2.3.3
Supports 	http://pecl.php.net/package/yaf


部署yaf的文件结构
+ public
  |- index.php //入口文件
  |- .htaccess //重写规则    
  |+ css
  |+ img
  |+ js
+ conf
  |- application.ini //配置文件   
+ application
  |+ controllers
     |- Index.php //默认控制器
  |+ views    
     |+ index   //控制器
        |- index.phtml //默认视图
  |+ modules //其余模块
  |+ library //本地类库
  |+ models  //model目录
  |+ plugins //插件目录


参考:http://www.laruence.com/manual/tutorial.firstpage.html

请注意:入口文件不是放在vhost的根目录,而是放在public/index.php 因此设置vhost domain的时候必定要注意加上"/public"

<VirtualHost *:80>
DocumentRoot /var/www/html/yof/public
ServerName devlocal.yof.nmg.com.hk
ErrorLog /var/www/html/yof/logs/devlocal.yof.nmg.com.hk-error_log
CustomLog /var/www/html/yof/logs/devlocal.yof.nmg.com.hk-access_log common
<Directory /var/www/html/yof/public>
                AllowOverride All
                Options Indexes FollowSymLinks MultiViews
                Order allow,deny
                Allow from all
</Directory>
</VirtualHost>


.htaccess也是放在public目录下。
index.php参考:
<?php

// 若是有 xhprof 则开启跟踪功能
if(function_exists('xhprof_enable')){
	xhprof_enable(XHPROF_FLAGS_NO_BUILTINS | XHPROF_FLAGS_CPU | XHPROF_FLAGS_MEMORY);
}

header('content-Type:text/html;charset=utf-8;');
define('APP_PATH',  realpath(dirname(__FILE__) . '/../')); 

/*
 * 之全部要先包含 init.php 而不放在Bootstrap.php 里, 
 * 由于这样能够根据 ENV 来判断要不要抛出 YAF 自己的前置错误
 * 如配置出错了, 不包含 init.php 会一片空白, 包含了在 DEV 下则会抛出错误提示
 */
require APP_PATH.'/application/init.php';

$app = new Yaf_Application(APP_PATH.'/conf/application.ini');
$app->bootstrap()->run();


Windows 安装YAF

Windows下的安装请必定要选择对应操做系统位数和php版本的dll下载,不然会加载失败。

例如64位的windows系统,php版本5.5.就下载php_yaf-2.3.3-5.5-ts-vc11-x64

下载地址:https://pecl.php.net/package/yaf/2.3.3/windows

将解压缩出来的php_yaf.dll文件copy到D:\wamp\bin\php\php5.5.12\ext

修改php.ini

添加
extension=php_yaf.dll
yaf.environ=dev

重启apache2.

附件是一个最简单的helloworld的结构目录。
  • yaf.7z (2.3 KB)
  • 下载次数: 0