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的结构目录。