MAC安装hyperf
1.环境安装时,判断PHP环境要大于php7.4 php -v PHP 7.4.16 (cli) (built: Mar 4 2021 20:49:25) ( NTS )
2.判断是否安装swoole
php --ri swoole
Extension 'swoole' not present.
2.1安装swoole wget https://github.com/swoole/swoole-src/archive/refs/tags/v4.6.6.tar.gz tar -xzvf v4.6.6.tar.gz ###解压 cd swoole-src-4.6.6 ###进入swoole扩展包 phpize ###编译
./configure --with-php-config=/usr/local/opt/php@7.4/bin/php-config --with-openssl-dir=/usr/local/opt/openssl@1.1 --enable-sockets=yes --enable-openssl=yes --enable-http2=yes --enable-mysqlnd=yes
设置说明
--with-php-config 设置php-config路径,防止一些扩展无法找到(第一次尝试的时候没有加,报的stockets扩展无法找到)
--with-openssl-dir 防止找不到openssl
--enable-sockets 之后的配置,都是开启这些功能
————————————————
make
make install
2.2 安装到完后,把swoole加载到PHP中 //安装完成以后,发现swoole.so文件已经自动放到了 /usr/local/opt/php@7.4/pecl/20190902 目录,接下来修改php.ini文件 //查找php.ini文件位置 php -i|grep php.ini //修改php.ini, ####添加以下两行 extension=“swoole.so” swoole.use_shortname = ‘Off’
vim /usr/local/etc/php/7.4/php.ini
//重启php-fpm brew services restart php@7.2 //查看swoole扩展是否安装成功 php -m
2.3查看swoole 安装信息 //查看swoole扩展相关 php --ri swoole
2.5进入到项目目录后,使用composer 创建项目,安装hyperf注意 ,一路按n 不要同意安装任何扩展
#启动 php bin/hyperf.php start #####启动后会有以下提示 [DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\Server\Listener\InitProcessTitleListener listener. [DEBUG] Event Hyperf\Framework\Event\AfterWorkerStart handled by Hyperf\Server\Listener\InitProcessTitleListener listener. [INFO] Worker#6 started. [INFO] Worker#7 started.
2.6 打开新窗口看是否启动成功, 端口是9501 mac 查看端口占用情况 netstat -anp tcp |grep 9501
curl 127.0.0.1:9501
{“method”:“GET”,“message”:“Hello Hyperf.”}%
hyperf 配置域名
由于hyperf 是通过控制台命令行启动.与以往框架不同,hyperf并没有index.php文件,hyperf的入口文件是bin/hyperf.php 按照官方文档讲,需要配置反向代理
采用反向代理配置域名 与以往的不同是,不需要root 指向根目录,也不需要入口文件
#反向代理
upstream hyperf {
server 127.0.0.1:9501;
}
server {
# 监听端口
listen 80;
# 绑定的域名,填写您的域名
server_name proxy.hyperf.cn;
location / {
# 将客户端的 Host 和 IP 信息一并转发到对应节点
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# 转发Cookie,设置 SameSite
proxy_cookie_path / "/; secure; HttpOnly; SameSite=strict";
# 执行代理访问真实服务器
proxy_pass http://hyperf;
}
}
提醒:upstream 模块必须在http里面,server外面,否则会报错
hyperf如何热启动,热更新,更改代码自动重启
1、热更新 Watcher 2、安装 composer require hyperf/watcher --dev 3、生成配置文件 php bin/hyperf.php vendor:publish hyperf/watcher
所在目录:config/autoload/watcher.php
4、启动 php bin/hyperf.php server:watch
|