加入了新的团队,团队中用到了yaf这个php web framework(据说是目前php web框架中性能最高的),自己也开始学了起来。因为自己之前几乎没有接触过PHP,所以安装yaf的整个过程还是略显艰辛的。经过自己的折腾和同事的帮忙,终于在Mac上成功安装了yaf,感觉需要写一篇简易教程记录一下,以防自己和他人今后再踩坑。
步骤1:安装XAMPP
XAMPP是Apache + MySQL + PHP + Perl的一键傻瓜安装包,在官网上安装Mac版的安装包。安装完毕之后,打开http://127.0.0.1/,如果看到了xampp的欢迎页面,说明就成功了。
好了,我们需要的Apache和PHP都安装好了,这些先放着,开始安装yaf
步骤2:安装yaf
先在yaf官网上面下载最新的源码,然后按照官网上的教程进行安装。其实就是这四个命令:
$PHP_BIN/phpize
./configure --with-php-config=$PHP_BIN/php-config
make
make install
需要注意两个问题:
-
$PHP_BIN
指的是php所在的bin目录,而且一定要是之前XAMPP安装的php的bin目录,也就是/Applications/XAMPP/bin/
- 如果出现权限问题,需要在命令前面加上
sudo
make install
之后,系统会告诉你编译出一个yaf.so
,并且存放在某个文件夹下面,我们要的就是这个文件。具体存放在哪你可以不用关心,因为php是知道在哪的。接下来,将yaf.so加入配置文件php.ini
中。
vi /Applications/XAMPP/etc/php.ini
加入以下语句:
extension=yaf.so
使用php -m
,查看yaf是否已经加入php
/Applications/XAMPP/bin/php -m
[PHP Modules]
……
省略一些模块
……
xmlwriter
xsl
yaf
zip
zlib
[Zend Modules]
如果看到了yaf,就说明yaf这个模块已经载入成功了。
步骤3:生成一份sample应用
按照yaf官网上面的教程,生成一份样例的yaf应用,具体步骤如下:
下载php-yaf源码
git clone https://github.com/laruence/php-yaf/
运行代码生成工具
$PHP_YAF_SRC/tools/cg/yaf_cg sample
将sample文件夹存在一个单独的路径,用作Apache的virtual host的根目录,比如我就放在了/Users/Quxiao/dev/apache_virital_root/sample
这个路径。
步骤4:配置Apache
编辑virtual host配置文件
vi /Applications/XAMPP/xamppfiles/etc/extra/httpd-vhosts.conf
将其中的8080端口的<VirtualHost>
配置改掉,修改端口以及DocumentRoot
,例如
#端口可以改成自己想要的端口
<VirtualHost *:8081>
ServerAdmin webmaster@dummy-host2.example.com
#该路径就是上一步样例yaf应用的路径
DocumentRoot "/Users/Quxiao/dev/apache_virital_root/sample"
ServerName dummy-host2.example.com
ErrorLog "logs/dummy-host2.example.com-error_log"
CustomLog "logs/dummy-host2.example.com-access_log" common
</VirtualHost>
编辑Apache配置文件
vi /Applications/XAMPP/xamppfiles/etc/httpd.conf
加入上面virtual host的配置,在文件中查找,去掉Include
前的注释符号#
# Virtual hosts
Include etc/extra/httpd-vhosts.conf
开启virtual host的端口
#Listen 12.34.56.78:80
Listen 80
# 添加8081端口
Listen 8081
添加访问权限配置,加入以下内容:
<Directory "/Users/Quxiao/dev/apache_virital_root/sample">
#
# Possible values for the Options directive are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important. Please see
# http://httpd.apache.org/docs/trunk/mod/core.html#options
# for more information.
#
#Options Indexes FollowSymLinks
# XAMPP
Options Indexes FollowSymLinks ExecCGI Includes
#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
#AllowOverride None
# since XAMPP 1.4:
AllowOverride All
#
# Controls who can get stuff from this server.
#
Require all granted
</Directory>
其实就是将原本已有的<Deirectory>
部分复制一份,然后把路径改成之前设置的virtual host的DocumentRoot
步骤5:重启Apache并访问yaf应用
在Launchpad中开发XAMPP的管理器,在Manager Servers
中将Apache重启
激动人心的时刻到了,访问http://127.0.0.1:8081/,看是否出现了
Hello World! I am Stranger
如果出现了,就表示你已经在Mac上成功安装了yaf!
-- EOF --
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。