在PHP 7下安装Swoole与Yar,Yaf的方法教程


Posted in PHP onJune 02, 2017

本文开发坏境:

  • CentOS 7
  • PHP 7.0.16

安装PECL

//php版本 > 7
$ wget http://pear.php.net/go-pear.phar
$ php go-pear.phar
//php版本 < 7
$ yum install php-pear
//否则会报错PHP Parse error: syntax error, unexpected //'new' (T_NEW) in /usr/share/pear/PEAR/Frontend.php on //line 91

安装swoole

$ sudo pecl install swoole
//报错如下
//Warning: Invalid argument supplied for foreach() in //Command.php on line 249
vi `which pecl`
//找到最后一行
exec $PHP -C -n -q $INCARG -d date.timezone=UTC -d output_buffering=1 -d variables_order=EGPCS -d safe_mode=0 -d register_argc_argv="On" $INCDIR/peclcmd.php "$@"
去掉 -n 标示
//报错如下
//running: phpize
//Can't find PHP headers in /usr/include/php
//安装 php-devel
sudo yum install php70w-devel
成功!
//Build process completed successfully
//Installing '/usr/lib64/php/modules/swoole.so'
//install ok: channel://pecl.php.net/swoole-1.9.8

配置 php.ini

$ php -i | grep php.ini
//修改或者添加
 extension=swoole.so

安装 Yar和Yaf

$ sudo ./pecl install msgpack
//pecl/yar requires PHP (version >= 5.2.0, version <= 5.6.99), installed version is 7.0.16
//注意PHP7,要使用yar-2.0.2
$ sudo ./pecl install yar-2.0.2 //注意yar-2.0.2版本
//添加,json.so 要放到前面。否则会报
//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_decode_ex in Unknown on line 0
extension=json.so //放前面
extension=msgpack.so
extension=yar.so
//重启php服务
sudo systemctl restart php-fpm.service
//其他报错
//perl: warning: Setting locale failed.
//perl: warning: Please check that your locale //settings:
// LANGUAGE = (unset),
// LC_ALL = (unset),
 // LANG = "en_US.UTF-8"
 
$ localedef -v -c -i en_US -f UTF-8 en_US.UTF-8
//其他报错
//checking for cURL in default path... not found
//configure: error: Please reinstall the libcurl distribution - easy.h should be in <curl-dir>/include/curl/
$ sudo yum -y install curl-devel
//安装Yaf
$ sudo ./pecl install yaf
//更新php.ini
extension=yaf.so
//重启服务
$ sudo systemctl restart php-fpm.service
//安装脚手架
$ git clone http://pecl.php.net/package/yaf
$ cd php-yaf/tools/cg
$ php yaf-cg app
//配置 项目目录指向 app/index.php
//访问配置host

nginx 配置

server {
 listen ****;
 server_name domain.com;
 root document_root;
 index index.php index.html index.htm;
 
 if (!-e $request_filename) {
 rewrite ^/(.*) /index.php/$1 last;
 }
}

Enjoy it!

在PHP 7下安装Swoole与Yar,Yaf的方法教程

在PHP 7下安装Swoole与Yar,Yaf的方法教程

在PHP 7下安装Swoole与Yar,Yaf的方法教程

在PHP 7下安装Swoole与Yar,Yaf的方法教程

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

PHP 相关文章推荐
MySQL授权问题总结
May 06 PHP
php str_replace的替换漏洞
Mar 15 PHP
header中Content-Disposition的作用与使用方法
Jun 13 PHP
PHP中Memcache操作类及用法实例
Dec 12 PHP
PHP使用array_multisort对多个数组或多维数组进行排序
Dec 16 PHP
php找出指定范围内回文数且平方根也是回文数的方法
Mar 23 PHP
php socket通信(tcp/udp)实例分析
Feb 14 PHP
微信自定义分享php代码分析
Nov 24 PHP
PHP实现的分页类定义与用法示例
Jul 05 PHP
PHP7中I/O模型内核剖析详解
Apr 14 PHP
php中关于换行的实例写法
Sep 26 PHP
Thinkphp5.0 框架Model模型简单用法分析
Oct 11 PHP
Yii2中简单的场景使用介绍
Jun 02 #PHP
Yii 2.0中场景的使用教程
Jun 02 #PHP
详解PHP5.6.30与Apache2.4.x配置
Jun 02 #PHP
php使用PDO从数据库表中读取数据的实现方法(必看)
Jun 02 #PHP
php从数据库中读取特定的行(实例)
Jun 02 #PHP
php获取数据库结果集方法(推荐)
Jun 01 #PHP
php获取数据库中数据的实现方法
Jun 01 #PHP
You might like
德生9700DX电路分析
2021/03/02 无线电
php strtotime 函数UNIX时间戳
2009/01/14 PHP
PHP的MVC模式实现原理分析(一相简单的MVC框架范例)
2014/04/29 PHP
PHP实现递归复制整个文件夹的类实例
2015/08/03 PHP
javascript new一个对象的实质
2010/01/07 Javascript
javaScript 关闭浏览器 (不弹出提示框)
2010/01/31 Javascript
自制基于jQuery的智能提示插件一枚
2011/02/18 Javascript
js clearInterval()方法的定义和用法
2015/11/11 Javascript
js判断主流浏览器类型和版本号的简单实现代码
2016/05/26 Javascript
javascript 用函数实现继承详解
2016/05/28 Javascript
BootStrap Table前台和后台分页对JSON格式的要求
2017/06/28 Javascript
Vue.js实现列表清单的操作方法
2017/11/15 Javascript
基于vue.js 2.x的虚拟滚动条的示例代码
2018/01/23 Javascript
vue实现图片滚动的示例代码(类似走马灯效果)
2018/03/03 Javascript
LayUi使用switch开关,动态的去控制它是否被启用的方法
2019/09/21 Javascript
微信小程序实现一张或多张图片上传(云开发)
2019/09/25 Javascript
js滚轮事件 js自定义滚动条的实现
2020/01/18 Javascript
python实现超简单端口转发的方法
2015/03/13 Python
Python中的进程分支fork和exec详解
2015/04/11 Python
python实现用户登陆邮件通知的方法
2015/07/09 Python
Python使用PyCrypto实现AES加密功能示例
2017/05/22 Python
Python3多线程爬虫实例讲解代码
2018/01/05 Python
Python正则匹配判断手机号是否合法的方法
2020/12/09 Python
python 实现一次性在文件中写入多行的方法
2019/01/28 Python
Django 解决model 反向引用中的related_name问题
2020/05/19 Python
django restframework serializer 增加自定义字段操作
2020/07/15 Python
pip/anaconda修改镜像源,加快python模块安装速度的操作
2021/03/04 Python
HTML5打开本地app应用的方法
2016/03/31 HTML / CSS
AmazeUI 导航条的实现示例
2020/08/14 HTML / CSS
2015年食品安全工作总结
2015/05/15 职场文书
毕业生登记表班级意见
2015/06/05 职场文书
商业计划书如何写?关键问题有哪些?
2019/07/11 职场文书
学生早退检讨书(范文)
2019/08/19 职场文书
MySQL 使用SQL语句修改表名的实现
2021/04/07 MySQL
Django REST framework 限流功能的使用
2021/06/24 Python
python not运算符的实例用法
2021/06/30 Python