高性能、高灵活性的 PHP 协程框架,Hyperf 安装实操

Hyperf 是基于 Swoole 4.5+ 实现的高性能、高灵活性的 PHP 协程框架,内置协程服务器及大量常用的组件,性能较传统基于 PHP-FPM 的框架有质的提升,提供超高性能的同时,也保持着极其灵活的可扩展性,标准组件均基于 PSR 标准 实现,基于强大的依赖注入设计,保证了绝大部分组件或类都是 可替换可复用 的。

目前协程的出现改变了很多PHP内容,各大框架也陆续结合协程实现了更丰富的内容。而且协程也衍生出很多优秀的框架。

~~出于学习的目的下面我将使用Hyperf创建一个自己的站点。~~

Hyperf对环境有些要求。下面是官方给与的要求:

PHP >= 7.2

Swoole PHP 扩展 >= 4.5,并关闭了 Short Name

OpenSSL PHP 扩展

JSON PHP 扩展

PDO PHP 扩展 (如需要使用到 MySQL 客户端)

Redis PHP 扩展 (如需要使用到 Redis 客户端)

Protobuf PHP 扩展 (如需要使用到 gRPC 服务端或客户端)

首先在服务器查看自己的PHP版本

然后是 Swoole 扩展版本

JSON PHP 扩展 已经被内置到了PHP7.2中。不用再次安装。

Swoole PHP 扩展 >= 4.5,并关闭了 Short Name 这个要注意:需要手动在php.in中添加swoole.use_shortname = off 关闭 Short Name.

OpenSSL PHP 扩展需要开启。

然后在服务器网站目录下执行命令。将进行hyperf安装。

当然我们希望安装是一番丰顺的,但是并不是所有的安装都会正常运行。例如我就遇到了比较奇怪的问题。

这里提示我需要开启PHP redis 扩展,和PHP fileinfo扩展。然而官网上说这个是非必须的。

解决问题也比较简单。开启PHP redis 扩展,和PHP fileinfo扩展即可。我比较懒用的宝塔。宝塔开启PHP redis 扩展,和PHP fileinfo扩展 需要到宝塔PHP管理中的扩展管理开启相应内容即可。

这样我们就可以正常进行安装了。记得服务器可用内容要大于1g.不然PHP fileinfo扩展有可能安装不成功。

总结:

Hyperf 对环境要求还是有的。但是只要环境问题解决了。他的安装速度都是杠杠的。而且这点问题对应PHPer们就是张飞吃豆芽。小菜一碟。

linux 下安装redis以及php Redis扩展

    1. linux 下安装redis以及php Redis扩展

    2. 环境配置: centos6.0 nginx/1.0.0 php/5.3.8 mysql/5.5.17

    3. 步骤一、下载redis

    4. 可以去http://redis.io/去下载最新版本

    5. 我用的是 redis 2.8.11

    6. 进入软件安装包存放目录: cd /var/install/software/

    7. wget http://download.redis.io/redis-stable.tar.gz

  1. 步骤二、编译源程序

  2. tar xvzf redis-stable.tar.gz

  3. cd redis-stable

  4. make

  5. make install

  6. 如果make出现了异常:

  7. 1)make[2]: cc: Command not found

  8. 异常原因:没有安装gcc

  9. 解决方案:yum install gcc-c++

  10. 2)zmalloc.h:51:31: error: jemalloc/jemalloc.h: No such file or directory

  11. 异常原因:一些编译依赖或原来编译遗留出现的问题

  12. 解决方案:make distclean。清理一下,然后再make。

  13. 在make成功之后,需要make test 在make test 出现异常

  14. 1) couldn\’t execute \”tclsh8.5\”: no such file or directory

  15. 异常原因:没有安装tcl

  16. 解决方案:yum install -y tcl。

  17. make命令执行完成后,会在src目录下生成5个可执行文件,分别是redis-server、redis-cli、redis-benchmark、redis-check-aof、redis-check-dump,它们的作用如下:

  18. redis-server:Redis服务器的daemon启动程序

  19. redis-cli:Redis命令行操作工具。当然,你也可以用telnet根据其纯文本协议来操作

  20. redis-benchmark:Redis性能测试工具,测试Redis在你的系统及你的配置下的读写性能

  21. redis-check-aof:更新日志检查

  22. redis-check-dump:用于本地数据库检查

  23. 步骤三、配置

  24. cp redis-server /usr/local/bin/

  25. cp redis-cli /usr/local/bin/

  26. 然后新建目录,存放配置文件

  27. mkdir /etc/redis

  28. mkdir /var/redis

  29. mkdir /var/redis/log

  30. mkdir /var/redis/run

  31. mkdir /var/redis/6379

  32. 在redis解压根目录中找到配置文件模板,复制到如下位置。

  33. cp redis.conf /etc/redis/6379.conf通过vim命令修改

  34. daemonize yes

  35. pidfile /var/redis/run/redis_6379.pid

  36. logfile /var/redis/log/redis_6379.log

  37. dir /var/redis/6379

  38. 最后运行redis:

  39. $ redis-server /etc/redis/6379.conf

  40. 可用netstat –atln 查看端口是启动安装成功

  41. 步聚四、操作Redis数据库

  42. # ./redis-cli

  43. \”http://img.blog.csdn.net/20140617150954812?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaV9icnVjZQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast\” alt=\”\” />

  44.   下面我们来简单的操作一下数据库。在实例开启的情况下:

  45.   1、插入数据

  46.   redis 127.0.0.1:6379> set name wwl

  47.   OK

  48.   设置一个key-value对。

  49.   2、查询数据

  50.   redis 127.0.0.1:6379> get name

  51. \”wwl\”

  52.   取出key所对应的value。

  53.   3、删除键值

  54.   redis 127.0.0.1:6379> del name

  55.   删除这个key及对应的value。

  56.   4、验证键是否存在

  57.   redis 127.0.0.1:6379> exists name

  58.   (integer) 0

  59.   其中0,代表此key不存在;1代表存在。

  60. 步骤五、下载phpredis扩展

  61. 先去下载https://github.com/nicolasff/phpredis/downloads

  62. #wget https://github.com/nicolasff/phpredis/downloads

  63. # tar -zxvf nicolasff-phpredis-2.1.3-124-gd4ad907.tar.gz

  64. # mv nicolasff-phpredis-d4ad907 php-5.3.8/ext/phpredis/

  65. # cd php-5.3.8/ext/phpredis/

  66. # /usr/local/php/bin/phpize

  67. # ./configure –with-php-config=/usr/local/php/bin/php-config

  68. # make && make install

  69. 配置php.ini

  70. vi /usr/local/php/lib/php.ini

  71. (加入:

  72. extension=redis.so

  73. )

  74. 先要看看有没有extension_dir=/…….

  75. 重启apache或者nginx (reload php—> /etc/init.d/php-fpm restart)

  76. 到正常情况到此可以用phpinfo看到redis扩展

  77. 如果phpinfo没有redis扩展信息请添加/etc/php.d/redis.ini (路径是我本地的)

  78. redis.ini 内容如下:

  79. ; Enable mysql extension module

  80. extension=redis.so

  81. 重启apache或者nginx (reload php—> /etc/init.d/php-fpm restart)

    本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com

    点赞 0
    收藏 0

    文章为作者独立观点不代本网立场,未经允许不得转载。