加入了新的團隊,團隊中用到了yaf這個php web framework(聽說是目前php web框架中性能最高的),本身也開始學了起來。由於本身以前幾乎沒有接觸過PHP,因此安裝yaf的整個過程仍是略顯艱辛的。通過本身的折騰和同事的幫忙,終於在Mac上成功安裝了yaf,感受須要寫一篇簡易教程記錄一下,以防本身和他人從此再踩坑。php
XAMPP是Apache + MySQL + PHP + Perl的一鍵傻瓜安裝包,在官網上安裝Mac版的安裝包。安裝完畢以後,打開http://127.0.0.1/,若是看到了xampp的歡迎頁面,說明就成功了。
html
好了,咱們須要的Apache和PHP都安裝好了,這些先放着,開始安裝yafgit
先在yaf官網上面下載最新的源碼,而後按照官網上的教程進行安裝。其實就是這四個命令:github
$PHP_BIN/phpize ./configure --with-php-config=$PHP_BIN/php-config make make install
須要注意兩個問題:web
$PHP_BIN
指的是php所在的bin目錄,並且必定要是以前XAMPP安裝的php的bin目錄,也就是/Applications/XAMPP/bin/
sudo
make install
以後,系統會告訴你編譯出一個yaf.so
,而且存放在某個文件夾下面,咱們要的就是這個文件。具體存放在哪你能夠不用關心,由於php是知道在哪的。接下來,將yaf.so加入配置文件php.ini
中。apache
vi /Applications/XAMPP/etc/php.ini
加入如下語句:框架
extension=yaf.so
使用php -m
,查看yaf是否已經加入phpide
/Applications/XAMPP/bin/php -m [PHP Modules] …… 省略一些模塊 …… xmlwriter xsl yaf zip zlib [Zend Modules]
若是看到了yaf,就說明yaf這個模塊已經載入成功了。工具
按照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
這個路徑。
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>
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
在Launchpad中開發XAMPP的管理器,在Manager Servers
中將Apache重啓
激動人心的時刻到了,訪問http://127.0.0.1:8081/,看是否出現了
Hello World! I am Stranger
若是出現了,就表示你已經在Mac上成功安裝了yaf!
-- EOF --