zoukankan      html  css  js  c++  java
  • PHP7安装Swoole详细教程

    注意:在执行 ./configure命令生成Makefile文件的时候会报错

    configure: error: Cannot find PHP-config. Please use --with-php-config=PATH

    一般出现这个错误说明你执行 ./configure 时  --with-php-config 这个参数配置路径错误导致的。

    修改为:

    ./configure --with-php-config=/usr/local/php/bin/php-config

    就可以解决问题

    上面的 /usr/local/php/ 是你的 php 安装路径 ,路径完整填写是  php-config的路径 

    查看安装路径的命令:

    whereis php

    which php 查看这在运行时的路径

    Swoole简介

      Swoole是:PHP语言的高性能网络通信框架,提供了PHP语言的异步多线程服务器,异步TCP/UDP网络客户端,异步MySQL,数据库连接池,AsyncTask,消息队列,毫秒定时器,异步文件读写,异步DNS查询。 Swoole虽然是标准的PHP扩展,实际上与普通的扩展不同。普通的扩展只是提供一个库函数。而swoole扩展在运行后会接管PHP的控制权,进入事件循环。当IO事件发生后,swoole会自动回调指定的PHP函数。

    Server运行流程图

    进程/线程结构图

    环境

    用nginx + php-fpm,性能更强大,配置更方便,并且为了跟上php的步伐,也使用了比较新的php版本,我php版本7.0.26。

    [x] ubuntu-14

    [x] php7.0.26

    [x] nginx/1.10.2

    [x] php-fpm

    下载 swoole

    首先下载swoole的源码包

    wget -c https://github.com/swoole/swoole-src/archive/v2.0.6.tar.gz
    解压: tar -zxvf v2.0.6.tar.gz
    方法2:
    从 https://github.com/swoole/swoole-src/releases 下载 

    编译&安装

    cd swoole-src-2.0.6/ ,

    1.使用phpize来生成php编译配置

    2.使用./configure 来做编译配置检测

    3.make进行编译,make install进行安装

    命令执行如下:

    [root@php7 swoole-src-2.0.6]# phpize

    [root@php7 swoole-src-2.0.6]# ./configure

    [root@php7 swoole-src-2.0.6]# make && make install

    4.make install后,如果正确,会出现以下内容

    [root@php7 swoole-src-2.0.6]# make install

    Installing shared extensions: /usr/lib64/php/modules/

    修改配置文件

    要能够使用该模块,还需要在 php.ini 文件中添加该模块。

    extension=swoole.so

    重启服务

    新增php模块后,需要重新启动nginx和php-fpm服务,才会生效。

    最后通过php -m或phpinfo()来查看是否成功加载了swoole,如图:

    注意:

    1.swoole_server只能用于php-cli环境,否则会抛出致命错误。2.因此引入类/函数的php文件时必须要使用include_once或require_once,否会发生cannot redeclare function/class 的致命错误。 3.不要用exit()/die(),会导致worker进程退出。 4.PHP代码中如果有异常抛出,必须在回调函数中进行try/catch捕获异常,否则会导致工作进程退出。

  • 相关阅读:
    Android Activity的事件分发机制-源码解析
    Android ViewGroup的事件分发机制-源码分析
    Android View的事件分发机制-源码解析
    Activity中的setContentView(R.layout.xxx)源码分析
    android 6.0动态权限的申请
    java 回行矩阵的打印
    Masonry解析ios屏幕适配
    CollectionsUtil 类
    Request.url请求路径的一些属性
    .net中HttpCookie使用
  • 原文地址:https://www.cnblogs.com/ymdphp/p/11127655.html
Copyright © 2011-2022 走看看