搭建Hyperf本地开发环境之虚拟机开发

74 阅读3分钟

安装 LNMP 基础环境

本教程使用一键安装包进行 lnmp 环境的安装

  • 进入软件目录

    该目录自定义,设置成自己常用的目录就行,以后每次安装都可以在该目录下进行,避免总是找不到文件夹

    cd /usr/local/src/
    
  • 执行一键安装

    lnmp一键安装官方地址:点击跳转

    此处可能会比较耗时,考验你耐心的时候到了 ~~~

    wget http://soft.vpser.net/lnmp/lnmp2.0.tar.gz -cO lnmp2.0.tar.gz && tar zxf lnmp2.0.tar.gz && cd lnmp2.0 && ./install.sh lnmp
    

    如果安装报错:-bash: wget: 未找到命令 我们可以使用 yum 先安装 wget 工具

    yum update -y
    yum install wget -y
    

    然后再次执行一键安装命令即可

安装 Redis 服务

  • 下载 Redis

    进入 Redis 官网,查看当前的最新稳定版本

    wget -O redis-7.0.11.tar.gz https://codeload.github.com/redis/redis/tar.gz/refs/tags/7.0.11
    
  • 解压缩

    tar -zxvf redis-7.0.11.tar.gz
    
  • 安装

    cd redis-7.0.11
    make && make install PREFIX=/usr/local/redis
    
  • 设置开机启动

    systemctl enable redis
    

多版本php环境部署

安装不同版本的php

本地以两个版本做说明:php 对应 php7.4、php81 对应 php8.1

  • 进入 lnmp 环境包目录

    cd /usr/local/src/lnmp2.0
    
  • 执行 install.sh 追加 php 版本

    ./install.sh mphp
    
  • 本地安装了 php7.4 和 php8.1,为了方便使用,对 php8.1 做了软连接

    ln -s /usr/bin/php81 /usr/local/php8.1/bin/php
    

多版本Composer部署

  • 安装 composer Composer官方地址

    php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"
    php composer-setup.php
    php -r "unlink('composer-setup.php');"
    
  • 对 php8 创建 composer 执行别名

    不同 php 版本的 composer 执行,需要指定 php 的位置,所以设置别名,可以减少每次都手动指定位置的麻烦

    • 编辑文件

      vim ~/.bashrc
      
    • 在恰当的位置追加命令

      alias php81composer='php81 /usr/local/bin/composer'
      
    • 使别名生效

      source ~/.bashrc
      

多版本phpize部署

当我们为不同的php版本安装扩展时,需要使用对应版本的phpize编译工具;phpize 对应 php7.4;phpize81 对应 php8.1

  • 创建 phpize 软连接

    ln -s /usr/bin/phpize81 /usr/local/php8.1/bin/phpize
    

安装扩展

安装 Redis 扩展

  • 下载 Redis 扩展

    根据自己的实际情况下载对应的扩展包,一般下载最新的即可

    php扩展下载地址:点击下载

  • 将下载好的扩展包上传到服务器中,路径为 /usr/local/src

  • 解压扩展包

    tar -zxvf redis-5.3.7.tgz
    
  • 进入刚解压好的扩展目录,执行手动编译三件套

    phpize
    ./configure --with-php-config=/usr/local/php/bin/php-config
    make && make install
    
  • 执行完成后,将扩展添加到 php.ini 中,并查看扩展是否安装成功

    echo 'extension=redis.so'>>/usr/local/php/etc/php.ini
    php -m
    

安装 Swoole 扩展

  • 下载 Swoole 扩展

    根据自己的实际情况下载对应的扩展包

    swoole 扩展有 php 版本的限制,PHP 7.2.0 or newer 最高只支持 swoole-4.8.13

    php扩展下载地址:点击下载

  • 将下载好的扩展包上传到服务器中,路径为 /usr/local/src

  • 解压扩展包

    tar -zxvf swoole-4.8.13.tgz
    
  • 进入刚解压好的扩展目录,执行手动编译三件套

    phpize
    ./configure --with-php-config=/usr/local/php/bin/php-config
    make && make install
    
  • 执行完成后,将扩展添加到 php.ini 中,并查看扩展是否安装成功

    echo 'extension=swoole.so'>>/usr/local/php/etc/php.ini
    echo 'swoole.use_shortname=off'>>/usr/local/php/etc/php.ini
    php -m
    

附录:

Redis 异常问题解决

问题:无法远程连接

  • 异常信息

    Redis Client On Error: Error: write ECONNABORTED Config right?

  • 解决办法

    • 检查 redis 配置文件,关闭保护模式,即:修改 protected-modeno

      如果开启保护模式,只有本地能操作这个实例

Mysql 无法远程连接

lnmp 一键安装包安装后,默认没有开启远程登录

  • 解决办法

    # 本地登录
    mysql -uroot -p
    
    # 查看账户信息
    use mysql;
    select user,host from user;
    
    # 添加权限并使其生效
    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
    FLUSH PRIVILEGES;