@DFFuture
2016-05-24T01:55:42.000000Z
字数 2080
阅读 2254
Yar
Thinkphp
Ubuntu
Yar 是一个轻量级, 高效的RPC框架, 它提供了一种简单方法来让PHP项目之间可以互相远程调用对方的本地方法. 并且Yar也提供了并行调用的能力. 可以支持同时调用多个远程服务的方法.
- Linux:Ubuntu 14.04
- Apache:Apache 2.4
- Mysql:Mysql 5.5
- PHP: PHP 5.6
启动Apache
$sudo /etc/init.d/apache2 start
$sudo vi test.php
//或
$sudo gedit test.php
输入
<?php
phpinfo();
浏览器访问127.0.0.1/test.php
,如果本地没有图形界面,可以通过外网访问
2. 直接通过命令行查看
$php -r "phpinfo();"
$sudo find / -name phpize
//如果没有安装,可以通过开发版来安装该扩展
$sudo apt-get install php5-dev
$sudo pecl install msgpack
会提示如下错误
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
install failed
提示中提到最新版本为2.0.1,但访问https://pecl.php.net/package-search.php搜索msgpack发现,最新版本要求PHP 7.0,而我的版本是PHP 5.6,所以只能安装msgpack-0.5.7
$sudo pecl install channel://pecl.php.net/msgpack-0.5.7
安装成功,提示如下,要求配置php.ini,这里先放一下
configuration option "php_ini" is not set to php.ini location
You should add "extension=msgpack.so" to php.ini
$sudo pecl install yar
Enable Msgpack Supports [no] : //填yes
错误提示如下
configure: error: Please reinstall the libcurl distribution - easy.h should be in <curl-dir>/include/curl/
ERROR: `/tmp/pear/temp/yar/configure --enable-msgpack=yes' failed
可以通过以下命令解决这个问题
$sudo apt-get install libcurl4-gnutls-dev
安装成功,最后提示
configuration option "php_ini" is not set to php.ini location
You should add "extension=yar.so" to php.ini
浏览器访问127.0.0.1/test.php
,查看php信息并没有看到msgpack
和yar
,需要进一步配置
$sudo find / -name msgpack.so
/usr/lib/php5/20131226/msgpack.so
$sudo find / -name yar.so
/usr/lib/php5/20131226/yar.so说明``msgpack``和``yar``都已经安装成功
说明msgpack
和yar
都已经安装成功
cd /etc/php5/mods-available
//可以看到扩展的配置文件
$sudo vi msgpack.ini
; configuration for php msgpack module
; priority=20
extension=msgpack.so
$sudo vi yar.ini
; configuration for php yar module
; priority=40
extension=yar.so
[注]:因为
yar
依赖于json
和msgpack
,所以yar
的priority
的值要大一点
cd /etc/php5/apache2/conf.d
ls -all
可以看到该目录下都是软链接,在该目录下添加上面两个配置文件的软链接
$sudo ln -s ../../mods-available/msgpack.ini 20-msgpack.ini
$sudo ln -s ../../mods-available/yar.ini 40-yar.ini
重启Apache,浏览器访问127.0.0.1/test.php
查看phpinfo
,可以看到已有yar
和msgpack
,说明配置成功
[注]:应该修改/etc/php5/apache2下的配置文件而不是/etc/php5/cli下的