一個出色的輕量級RPC工具Yar 2.0的安裝

字號+ 編輯: 种花家 修訂: 科学鼠辈 來源: 惠新宸 2023-09-12 我要說兩句(1)

本文簡述如何利用pecl安裝Yar 2.0, 也可以通過本站其他有關yar的文章安裝適合php5.x的yar 1.2

注意: 本文的安裝方法適合php7.0以上的版本, 如果想查看php5.x版本yar的安裝, 請點擊移步本站另一篇手動安裝方法


體驗RPC框架Yar需要三步

  1. 裝二進制打包協議msgpack

  2. 裝yar拓展和依賴

  3. 寫demo測試

安裝PHP拓展包有很多種方式,當然沒什麽是比pecl更加來得暴力,用這個之前要確認phpize是否存在

find / -name phpize

如果phpize不存在

yum install php-devel

如果pecl沒安裝, 先進入到php的執行文档目錄

curl -o go-pear.php  http://pear.php.net/go-pear
./php go-pear.php
# 看到一堆提示, 直接回車即可

安裝msgpack

pecl install msgpack

提示如下錯誤:

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

那麽就按照提示

pecl install channel://pecl.php.net/msgpack-0.5.7

安裝跳了一大堆編譯過程過程,省略ING
只關心後幾行

Build process completed successfully
Installing '/usr/include/php/ext/msgpack/php_msgpack.h'Installing '/usr/lib64/php/modules/msgpack.so'install ok: channel://pecl.php.net/msgpack-0.5.6configuration option "php_ini" is not set to php.ini locationYou should add "extension=msgpack.so" to php.ini
# 命令行下輸入
vi /etc/php.ini
# 以下是配置文档内容
extension=msgpack.so

保存退出。

OK,msgpack裝好了

安裝Yar

可以使用pecl命令自動安裝yar:

pecl install yar

中途會有提示你Enable Msgpack Supports
這個就是上文裝的二進制打包協議。輸入yes

如果很不幸,出現了

configure: error: Please reinstall the libcurl distribution - easy.h 
should be in <curl-dir>/include/curl/ERROR: `/var/tmp/yar/configure --enable-msgpack=yes' failed`

這邊輸入如下命令

yum -y install curl-devel

解決上處報錯問題。

pecl install yar
#vi /etc/php.ini

文档添加

extension=yar.so

重啓php-fpm

service php-fpm restart

重啓的時候報錯如下

NOTICE: PHP message: PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/yar.so' - /usr/lib64/php/modules/yar.so:
 undefined symbol:   php_json_encode in Unknown on line 0

可以看出問題了,yar模塊是依賴msgpack.so和json.so的,必須得保证msgpack.so和json.so放在yar.so前面

解決辦法如下:

find / -name json.ini
mv /etc/php.d/json.ini /etc/php.d/json.ini.bak
vi /etc/php.ini

文档添加

extension=json.so
service php-fpm restart

再次重啓,成功!

可以用phpinfo()函數來檢查模塊是否已被添加


閲完此文,您的感想如何?
  • 有用

    0

  • 沒用

    0

  • 開心

    1

  • 憤怒

    0

  • 可憐

    0

1.如文章侵犯了您的版權,請發郵件通知本站,該文章將在24小時内刪除;
2.本站標注原創的文章,轉發時煩請注明來源;
3.交流群: 2702237 13835667

相關課文
  • mac開發接入微信公衆號接口返回報錯 cURL error 56: SSLRead() return error -9806

  • pecl安裝程序時報錯Array and string offset access syntax with curly braces is no longer supported

  • PHP的換行符是什麽

  • 由於商家傳入的H5交易參數有誤,該筆交易暫時無法完成,請聯繫商家解決

我要說說
網上賓友點評
1 樓 IP 111.192.***.181 的嘉賓 说道 : 很久前
过时的东西了,而且Yar在高并发场景下不是很稳定的