hyperf体验记录
in php with 0 comment

hyperf体验记录

in php with 0 comment

环境配置

参考官网文档:传送门 使用docker架设。
docker在Linux中的安装可以参考这篇文章:Linux环境安装、卸载Docker

# 下载并运行 hyperf/hyperf 镜像,并将镜像内的项目目录绑定到宿主机的 /tmp/skeleton 目录
docker run -v /tmp/skeleton:/hyperf-skeleton -p 9501:9501 -it --entrypoint /bin/sh hyperf/hyperf:7.2-alpine-cli

# 镜像容器运行后,在容器内安装 Composer
wget https://github.com/composer/composer/releases/download/1.8.6/composer.phar
chmod u+x composer.phar
mv composer.phar /usr/local/bin/composer
# 将 Composer 镜像设置为阿里云镜像,加速国内下载速度
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer

# 通过 Composer 安装 hyperf/hyperf-skeleton 项目
composer create-project hyperf/hyperf-skeleton

# 进入安装好的 Hyperf 项目目录
cd hyperf-skeleton
# 启动 Hyperf
php bin/hyperf.php start

使用宝塔面板编译安装mysql(v5.5.62)+redis(v5.0.8)。

进行以下配置操作:

  1. 在面板左侧的『安全』中开放3306和6379端口(生产环境绝不推荐开放这俩的外网端口
  2. 在面板左侧的『数据库』中创建一个名为hyperF的数据库,访问权限为:所有人
  3. 在面板左侧的『软件商店』找到redis,设置requirepass和bind(外网访问时设置为0.0.0.0)

问题记录

宝塔的redis-server位置在:/www/server/redis/src/redis-server

使用这行命令创建软连接:

ln -s /www/server/redis/src/redis-server /usr/bin/redis-server

之后再运行redis-server即正常。

[root@localhost ~]# redis-cli
127.0.0.1:6379> auth 123456 # redis使用 auth <password> 指令登录
OK
127.0.0.1:6379> 
[root@localhost ~]# 

将bind从127.0.0.1设置成0.0.0.0后重启redis即可

这个问题我之前找不到解决方法,都是通过重装环境搞得。

后来发现可能是每次docker停止之后我通过docker run而不是docker start启动容器,导致的出错。

可以通过docker ps -a查询,对于status为exit的容器,可以使用 docker start <containerId>启动。

框架

方法来自 Hyperf\Database\Schema\ColumnDefinition


public function up(): void
    {
        Schema::create('users', function (Blueprint $table) {
            // 设置之后调用comment(String $text)设置备注
            $table->bigIncrements('id')->comment('主键id');
            // 备注方法必须在最后调用,否则该字段将不会被创建
            // 调用change()方法后会导致该字段不会被创建,原因未知
            $table->smallInteger('role_id')->unsigned()->comment('角色id');
        });
    }

Comments are closed.