zoukankan      html  css  js  c++  java
  • centos7 安装php环境和安装swoole

    这仅是我在网上找了多个解决方法,搞定了我遇到的问题,做的一个记录,买这个服务器就是为了测试swoole,结果快到期了,swoole还没装好

    感谢https://www.cnblogs.com/phpwechat/p/8417331.html 

    https://www.cnblogs.com/zakun/p/5840073.html

    https://blog.csdn.net/malinjie66/article/details/52175132

    PHP版本依赖

    • Swoole-1.x需要 PHP-5.3.10 或更高版本
    • Swoole-2.x需要 PHP-7.0.0 或更高版本
    • Swoole-4.x需要 PHP-7.1.0 或更高版本

    安装httpd(就是apache)

    1.安装
    yum -y install httpd
    2.开启apache服务
    systemctl start httpd.service
    3.设置apache服务开机启动
    systemctl enable httpd.service

    安装php 

    CentOS/RHEL 7.x:

    1 rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
    2 rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

    CentOS/RHEL 6.x:

     1 rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm 

    2 rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm 

    yum安装php7.0:(拓展自选)

     1 yum install php70w-common php70w-fpm php70w-opcache php70w-gd php70w-mysqlnd php70w-mbstring php70w-pecl-memcached php70w-devel 

    以上命令安装了下面的拓展!

    php-api, php-bz2, php-calendar, php-ctype, php-curl, php-date, php-exif, php-fileinfo, php-filter, php-ftp, php-gettext, php-gmp, php-hash, php-iconv, php-json, php-libxml, php-openssl, php-pcre, php-pecl-Fileinfo, php-pecl-phar, php-pecl-zip, php-reflection, php-session, php-shmop, php-simplexml, php-sockets, php-spl, php-tokenizer, php-zend-abi, php-zip, php-zlib


    安装完后,可以先写个index.php测试一下,我的网站目录是在根目录的var/www/html/下面写php或html即可

    如果写的html可以浏览器访问,但是php直接把源码显示出来了,网上说是因为apache没有安装或关联php模块

    使用这个命令yum install mod_php71w(https://blog.csdn.net/joker_daddy/article/details/79180963)

    这样显示源码的问题就ok了

     安装swool

    pecl install swoole

    安装可选参数默认 NO

    enable debug/trace log support?
    enable sockets supports?
    enable openssl support?
    enable http2 support?
    enable async-redis support? 
    enable mysqlnd support?
    enable postgresql coroutine client support?




    然后修改php.ini
    增加
    extension=swoole.so
    然后重启httpd(systemctl restart httpd.service)

    检查
    php -m | grep swoole
    如果有显示说明安装好了


    安装mysql去网上查吧
    至于测试swoole前往 https://wiki.swoole.com/wiki/page/p-quickstart.html



    查看进程
    netstat -antp #查看所有建立的TCP连接
    netstat -lntp #查看监听(Listen)的端口

    根据pid杀死进程
    kill -9 pid数



    如果做一个小测试呢
    https://www.cnblogs.com/zhanghuilong/p/6734131.html
    https://www.cnblogs.com/zhanghuilong/p/6734131.html

    大意就是新建一个测试用的php里面代码都是抄官方文档的

    新建文件 server.php
    <?php
    $serv = new swoole_server('127.0.0.1', 9501);    
    //server的创建,只需要绑定要监听的ip和端口,如果ip指定为127.0.0.1,则表示客户端只能位于本机才能连接,其他计算机无法连接。
    //端口这里指定为9501,可以通过netstat查看下该端口是否被占用。如果该端口被占用,可更改为其他端口,如9502,9503等。
    $serv->set([    //我开2个worker进程处理我们的业务
        'worker_num' => 2,
    ]);
    // 有新的客户端连接时,worker进程内会触发该回调
    $serv->on('Connect', function ($serv, $fd) {
        echo "new client connected." . PHP_EOL;
    });
    //参数$serv是我们一开始创建的swoole_server对象,
    //参数$fd是唯一标识,用于区分不同的客户端,同时该参数是1-1600万之间可以复用的整数。
    // server接收到客户端的数据后,worker进程内触发该回调
    $serv->on('Receive', function ($serv, $fd, $fromId, $data) {
        // 收到数据后发送给客户端
        $serv->send($fd, 'Server '. $data);
    });
    // 客户端断开连接或者server主动关闭连接时 worker进程内调用
    $serv->on('Close', function ($serv, $fd) {
        echo "Client close." . PHP_EOL;
    });
    // 启动server
    $serv->start();
    ?>

    然后进入到server.php  文件的目录 

    执行 php server.php

    然后再开一个客户端

    执行命令

    telnet 127.0.0.1 9501
    > hello world
    > Swoole: hello world


    可能telnet没有安装会报错

    执行命令
    yum install -y telnet
     
  • 相关阅读:
    001 windows下如何生成公钥和私钥
    函数基础
    各种推导式
    MySQL误删数据
    kafka 学习笔记
    Nginx 功能
    Nginx 到底可以做什么
    Nginx 到底可以做什么
    Shell的18条常用命令整理
    超详细 Nginx 极简教程
  • 原文地址:https://www.cnblogs.com/zonglonglong/p/9063240.html
Copyright © 2011-2022 走看看