確定系統已經安裝了gcc、gcc-c++、make、automake、autoconf等依賴庫
sudo apt-get install gcc gcc-c++ make automake autoconf
步驟
tar -zxvf yaf-2.1.18.tgz
cd yaf-2.1.18
//wget && tar zxvf yaf-2.2.9.tgz && cd yaf-2.2.9
2.接著依次執行:
/usr/local/php/bin/phpize && ./configure --with-php-config=/usr/local/php/bin/php-config && make && make install
3.執行完你看到了這麼一句,說明你第一步yaf編譯部分是ok了.
installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/
4.檢視確認編譯後的檔案
ll /usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/
yaf.so //可以看到 yaf.so php擴充套件也已經幫我們編譯好了
5.配置 php.ini
vi /usr/local/php/etc/php.ini
[yaf]
yaf.environ = product
yaf.library = null
yaf.cache_config = 0
yaf.name_suffix = 1
yaf.name_separator = ""
yaf.forward_limit = 5
yaf.use_namespace = 0
yaf.use_spl_autoload = 0
extension=yaf.so //關鍵步驟:載入yaf.so ,上面也可忽略
6.重啟php
/etc/init.d/php-fpm restart
7.檢視phpinfo()
8.問題解決
在公升級php版本(v5.4.x)後重新安裝yaf,然後配置php.ini載入yaf.so後重啟php遇到報錯
notice: php message: php warning: php startup: unable to load dynamic library '/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/yaf.so' - /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/yaf.so: undefined symbol: output_globals in unknown on line 0
從報錯中看到是因為extension
的位置的問題, 於是重新編譯 yaf 的時候加上--with-libdir
/usr/local/php/bin/phpize && ./configure --with-libdir=/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525 --with-php-config=/usr/local/php/bin/php-config && make && make install
參考
2.上傳檔案到相應目錄
/home/software/php-yaf-master
3.進入tools/cg/並執行
cd /home/software/php-yaf-master/tools/cg
執行以上**,將在cg/output/目錄生成乙份yaf的骨架**
4.複製至專案目錄
遇到的問題在執行yaf_cg命令時可能報錯
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和scandir即可. yaf 安裝和開發環境配置
1.安裝的話就是phpize 然後 configure,make make install 2.新增yaf.so 到php.ini 重啟php fpm 3.nginx 配置 yaf官網給的不對,google了幾個文件,算可以了 server error page 500 502 503 504 50...
如何安裝配置yaf
用c語言開發的php框架,相比原生的php,幾乎不會帶來額外的效能開銷.所有的框架類,不需要編譯,在php啟動的時候載入,並常駐記憶體.更短的記憶體周轉週期,提高記憶體利用率,降低記憶體佔用率.靈巧的自動載入.支援全域性和區域性兩種載入規則,方便類庫共享.高效能的檢視引擎.高度靈活可擴充套件的框架,...
Yaf之配置和Bootstrap
common product common 2.列印出配置資訊看一下 class indexcontroller extends yaf controller abstract 3.檢視配置資訊 4.那麼怎麼加入多組配置資訊呢,比如我有兩個redis伺服器 很簡單,可以看出上面的配置檔案,裡面有乙個...