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

5年以前  |  阅读数:364 次  |  编程语言:PHP 

本文开发坏境:

  • 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分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例