久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

ubuntu 上給PHP安裝擴(kuò)展 Msgpack 和 Yar

 昵稱11482448 2014-05-28

本文為原創(chuàng)作品,,轉(zhuǎn)載請注明出處!


首先說明Yar是干什么的,。


新浪著名的大神級人物鳥哥,,開發(fā)的一個(gè)支持并行的PHP擴(kuò)展,。

源地址 http://www./2012/09/15/2779.html


其特點(diǎn)就是可以高效的封裝好供外部訪問的接口,,用途嘛,,偷笑,你懂的,。


下面開始實(shí)況直播,,如何才能把大神的yar用上。


一,、下載,。


恩,沒錯,,在那個(gè)文章的底部,,鳥哥提供了github的下載地址


但是,,這是不夠的,因?yàn)檫@個(gè)框架需要 一個(gè)名為 Msgpack 擴(kuò)展,,同樣的,,這個(gè)也是鳥哥維護(hù)的,再次膜拜??!


二、msgpack,。


恩,。。,。,。,。


貌似下載好發(fā)現(xiàn)里面都是寫.c .h 的文件,沒錯,,我們需要自己來編譯,!


1.msgpack

解壓壓縮包,直接看 README.md 

  1. ## Install  
  2.   
  3. ### Install from PECL  
  4. Msgpack is an PECL extension, thus you can simply install it by:  
  5. ````  
  6. pecl install msgpack  
  7. ````  
  8. ### Compile Msgpack from source  
  9. ````  
  10. $/path/to/phpize  
  11. $./configure   
  12. $make && make install  
  13. ````  

恩,,我們發(fā)現(xiàn)原來這個(gè)可以通過pecl在線安裝

打開一個(gè)終端,,輸入

  1. pecl install msgpack  

發(fā)現(xiàn)沒有成功,給的提示是這樣的

  1. Failed to download pecl/msgpack within preferred state "stable", latest release is version 0.5.5, stability "beta", use "channel://pecl.php.net/msgpack-0.5.5" to install  
  2. install failed  

這是由于msgpack還沒有穩(wěn)定版本,,按照上面的提示,,我們這樣輸入

  1. pecl install  channel://pecl.php.net/msgpack-0.5.5  

還是沒有成功,但是提示變了

  1. WARNING: configuration download directory "/build/buildd/php5-5.5.3+dfsg/pear-build-download" is not writeable.  Change download_dir config variable to a writeable dir to avoid this warning  
  2. Cannot install, php_dir for channel "pecl.php.net" is not writeable by the current user  

看來是我們對文件夾沒有寫入權(quán)限,,下面我們切換到root用戶后重新執(zhí)行上面的命令


大笑內(nèi)容太多,,截下最后的一段吧。


  1. Build process completed successfully  
  2. Installing '/usr/lib/php5/20121212/msgpack.so'  
  3. Installing '/usr/include/php5/ext/msgpack/php_msgpack.h'  
  4. install ok: channel://pecl.php.net/msgpack-0.5.5  
  5. configuration option "php_ini" is not set to php.ini location  
  6. You should add "extension=msgpack.so" to php.ini  

下面的操作就是打開配置文件,,把擴(kuò)展寫到文件中去

  1. sudo gedit /etc/php5/apache2/php.ini  

然后重啟apache

  1. sudo /etc/init.d/apache2 restart  

查看phpinfo


大笑到此為止,,我們就安裝完了msgpack的PHP擴(kuò)展。



三,、Yar


解壓下載的 yar-master.zip 我們還是先看 README.md 這個(gè)文件,,其實(shí)直接在github上看也是一樣的。,。,。。


安裝要求,,要求安裝一下的php擴(kuò)展,,這就是上一步的重要性!

  1. ## Requirement  
  2. - PHP 5.2+  
  3. - Curl  
  4. - Json  
  5. - Msgpack (Optional)  


安裝yar

  1. ### Install Yar   
  2. Yar is an PECL extension, thus you can simply install it by:  
  3. ```  
  4. pecl install yar  
  5. ```  

看來我們也可以通過pecl命令直接進(jìn)行安裝啊,,貌似不是那么順利

  1. downloading yar-1.2.1.tgz ...  
  2. Starting to download yar-1.2.1.tgz (35,174 bytes)  
  3. .........done: 35,174 bytes  
  4. 28 source files, building  
  5. running: phpize  
  6. Configuring for:  
  7. PHP Api Version:         20121113  
  8. Zend Module Api No:      20121212  
  9. Zend Extension Api No:   220121212  
  10. building in /tmp/pear/temp/pear-build-rootoSsn5u/yar-1.2.1  
  11. running: /tmp/pear/temp/yar/configure  
  12. checking for grep that handles long lines and -e... /bin/grep  
  13. checking for egrep... /bin/grep -E  
  14. checking for a sed that does not truncate output... /bin/sed  
  15. checking for cc... cc  
  16. checking whether the C compiler works... yes  
  17. checking for C compiler default output file name... a.out  
  18. checking for suffix of executables...  
  19. checking whether we are cross compiling... no  
  20. checking for suffix of object files... o  
  21. checking whether we are using the GNU C compiler... yes  
  22. checking whether cc accepts -g... yes  
  23. checking for cc option to accept ISO C89... none needed  
  24. checking how to run the C preprocessor... cc -E  
  25. checking for icc... no  
  26. checking for suncc... no  
  27. checking whether cc understands -c and -o together... yes  
  28. checking for system library directory... lib  
  29. checking if compiler supports -R... no  
  30. checking if compiler supports -Wl,-rpath,... yes  
  31. checking build system type... x86_64-unknown-linux-gnu  
  32. checking host system type... x86_64-unknown-linux-gnu  
  33. checking target system type... x86_64-unknown-linux-gnu  
  34. checking for PHP prefix... /usr  
  35. checking for PHP includes... -I/usr/include/php5 -I/usr/include/php5/main -I/usr/include/php5/TSRM -I/usr/include/php5/Zend -I/usr/include/php5/ext -I/usr/include/php5/ext/date/lib  
  36. checking for PHP extension directory... /usr/lib/php5/20121212  
  37. checking for PHP installed headers prefix... /usr/include/php5  
  38. checking if debug is enabled... no  
  39. checking if zts is enabled... no  
  40. checking for re2c... no  
  41. configure: WARNING: You will need re2c 0.13.4 or later if you want to regenerate PHP parsers.  
  42. checking for gawk... no  
  43. checking for nawk... nawk  
  44. checking if nawk is broken... no  
  45. checking whether to enable yar support... yes, shared  
  46. checking for curl protocol support... yes, shared  
  47. checking for msgpack packager support... no  
  48. checking for cURL in default path... not found  
  49. configure: error: Please reinstall the libcurl distribution - easy.h should be in <curl-dir>/include/curl/  
  50. ERROR: `/tmp/pear/temp/yar/configure' failed  

在這里我們可以看到是由于我們?nèi)鄙僖粋€(gè) re2c 0.13.4 或者更新的版本才行,,還有,我們的curl模塊也不太符合要求,,要求重裝一下,。


下面開始解決問題!


我在這個(gè)地址里找到了 re2c http://download.csdn.net/download/morre/5702707 ,在下面的解決過程中跳過了re2c的安裝,,看來上面的只是警告,,沒有太大問題。


讓我們回到y(tǒng)ar的編譯


編譯需要 phpize,,所以我們要安裝 phpize,,安裝phpize需要運(yùn)行

  1. yum install php-devel  

返回的提示是

  1. 程序“yum”尚未安裝。 您可以使用以下命令安裝:  
  2. sudo apt-get install yum  

恩,所以先安裝yum,在安裝phpize,,注意,,安裝phpize的時(shí)候要以root用戶執(zhí)行!


然后重新安裝了curl庫,,重啟apache


  1. sudo apt-get install curl libcurl3 libcurl3-dev php5-curl  

sudo /etc/init.d/apache2 restart

下面再次執(zhí)行pecl的安裝

pecl install yar

然后就沒有問題啦,,經(jīng)過短暫的等待,顯示下面的提示,,就安裝完成啦,!

  1. Build process completed successfully  
  2. Installing '/usr/lib/php5/20121212/yar.so'install ok:   
  3. channel://pecl.php.net/yar-1.2.1configuration option "php_ini" is not set to php.ini locationYou should add "extension=yar.so" to php.ini  


下面的步驟和上次一樣,修改配置文件,,重啟apache,。

  1. sudo gedit /etc/php5/apache2/php.ini  
  2. sudo /etc/init.d/apache2 restart  


重啟之后,在phpinfo中并沒有看見對應(yīng)的擴(kuò)展,。

    本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn),。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購買等信息,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多