[关闭]
@DFFuture 2016-05-24T01:55:42.000000Z 字数 2080 阅读 2254

安装PHP扩展:YAR——Ubuntu篇

Yar Thinkphp Ubuntu


Yar 是一个轻量级, 高效的RPC框架, 它提供了一种简单方法来让PHP项目之间可以互相远程调用对方的本地方法. 并且Yar也提供了并行调用的能力. 可以支持同时调用多个远程服务的方法.

准备

LAMP环境

  • Linux:Ubuntu 14.04
  • Apache:Apache 2.4
  • Mysql:Mysql 5.5
  • PHP: PHP 5.6

启动Apache

  1. $sudo /etc/init.d/apache2 start

查看PHP信息

  1. 通过浏览器查看
    在html目录下
  1. $sudo vi test.php
  2. //或
  3. $sudo gedit test.php

输入

  1. <?php
  2. phpinfo();

浏览器访问127.0.0.1/test.php,如果本地没有图形界面,可以通过外网访问
此处输入图片的描述
2. 直接通过命令行查看

  1. $php -r "phpinfo();"

安装Yar扩展

确认 phpize 是否安装

  1. $sudo find / -name phpize
  2. //如果没有安装,可以通过开发版来安装该扩展
  3. $sudo apt-get install php5-dev

安装 msgpack

  1. $sudo pecl install msgpack

会提示如下错误

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

提示中提到最新版本为2.0.1,但访问https://pecl.php.net/package-search.php搜索msgpack发现,最新版本要求PHP 7.0,而我的版本是PHP 5.6,所以只能安装msgpack-0.5.7

  1. $sudo pecl install channel://pecl.php.net/msgpack-0.5.7

此处输入图片的描述
安装成功,提示如下,要求配置php.ini,这里先放一下

  1. configuration option "php_ini" is not set to php.ini location
  2. You should add "extension=msgpack.so" to php.ini

安装 yar

  1. $sudo pecl install yar
  2. Enable Msgpack Supports [no] : //填yes

错误提示如下

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

可以通过以下命令解决这个问题

  1. $sudo apt-get install libcurl4-gnutls-dev

安装成功,最后提示

  1. configuration option "php_ini" is not set to php.ini location
  2. You should add "extension=yar.so" to php.ini

浏览器访问127.0.0.1/test.php,查看php信息并没有看到msgpackyar,需要进一步配置

PHP扩展配置

  1. $sudo find / -name msgpack.so
  2. /usr/lib/php5/20131226/msgpack.so
  3. $sudo find / -name yar.so
  4. /usr/lib/php5/20131226/yar.so说明``msgpack````yar``都已经安装成功

说明msgpackyar都已经安装成功

  1. cd /etc/php5/mods-available
  2. //可以看到扩展的配置文件
添加扩展配置文件
  1. $sudo vi msgpack.ini
  2. ; configuration for php msgpack module
  3. ; priority=20
  4. extension=msgpack.so
  1. $sudo vi yar.ini
  2. ; configuration for php yar module
  3. ; priority=40
  4. extension=yar.so

[注]:因为yar依赖于jsonmsgpack,所以yarpriority的值要大一点

添加软链接
  1. cd /etc/php5/apache2/conf.d
  2. ls -all

可以看到该目录下都是软链接,在该目录下添加上面两个配置文件的软链接

  1. $sudo ln -s ../../mods-available/msgpack.ini 20-msgpack.ini
  2. $sudo ln -s ../../mods-available/yar.ini 40-yar.ini

重启Apache,浏览器访问127.0.0.1/test.php查看phpinfo,可以看到已有yarmsgpack,说明配置成功

此处输入图片的描述

[注]:应该修改/etc/php5/apache2下的配置文件而不是/etc/php5/cli下的

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注