溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

詳解Docker 下開發(fā) hyperf 完整使用示例

發(fā)布時間:2020-08-24 16:57:17 來源:腳本之家 閱讀:336 作者:Hyperf 欄目:服務器

Hyperf官方網(wǎng)站
Hyperf 官方文檔安裝篇

1. docker 使用

  • docker search 列出 hyperf 鏡像
  • docker pull 下載鏡像到本地
  • 運行 鏡像并且將目錄掛載到當前目錄下文件夾 內(nèi),同時依照 /bin/sh 的方式運行
  • 進入到 hyperf-skeleton 目錄,此目錄是和本地掛靠的
$ docker search hyperf 
$ docker pull hyperf/hyperf 
$ docker run -v $PWD/:/hyperf-skeleton -p 9501:9501 -it --entrypoint /bin/sh hyperf/hyperf
$ cd hyperf-skeleton

2. 鏡像容器運行后,并在容器內(nèi)安裝 Composer

先下載 Composer 進 docker 容器內(nèi)

$ wget https://mirrors.aliyun.com/composer/composer.phar

3. 修改執(zhí)行權(quán)限

此操作是為了解決 Composer 不允許 root 權(quán)限執(zhí)行的限制

同時為切換用戶時,可以直接操作

生產(chǎn)環(huán)境下不推薦 777 授權(quán)方式

$ chmod -R 777 ./composer.phar

4. 移動 composer 至 bin 目錄下面,并且改名為 composer

生產(chǎn)環(huán)境下不推薦 777 授權(quán)方式

$ mv composer.phar /usr/local/bin/composer

5. 修改 root 密碼

同時因為不清楚 root 密碼,我們直接先做好修改
密碼需要重復輸入兩次,并且不會顯示,請注意

$ passwd root

6. 可以查看一下是 linux 發(fā)行版版本(命令會有所區(qū)別)

官方的鏡像為 Linux 的 alpine

$ cat /etc/os-release

7. 建立一個指定 GID 的組

官方的鏡像為 Linux 的 alpine 和很多小伙伴用的 Centos 命令會有所區(qū)別
如果是自己的建立的鏡像,按照發(fā)行版本命令走就好了

$ addgroup -g 10001 -S www

8. 建立一個指定 UID 的用戶

指定 shell, 讓它屬于指定的用戶組。

$ adduser www -u 20001 -D -S -s /bin/bash -G www

9. 讓新建的用戶可以使用 su - 到 root 用戶下,

$ chmod 4755 /bin/busybox

10. 切換至 www 用戶執(zhí)行 composer

su www 切換用戶
whoami 查看當前用戶

$ su www
$ whoami

11. 將 Composer 鏡像設(shè)置為阿里云鏡像,用于加速國內(nèi)下載速度

當然是否使用阿里云鏡像看個人需求(無廣告嫌疑)

$ composer config -g repo.packagist composer https://mirrors.aliyun.com/composer

12. 通過 Composer 安裝 hyperf 骨架

安裝時選擇看個人需求哈!

$ composer create-project hyperf/hyperf-skeleton

13. 查看一下配置等信息

一般情況下,hyperf 官方的源鏡像都是配置好的
以下只是提供一下命令
查看 swoole

$ php --ri swoole
$ php -i | grep ini

14. php.ini 內(nèi)寫入一下信息

特別注意 Off 中 O 為大寫

extension="grpc.so"
extension="redis.so"
extension="swoole.so"
swoole.use_shortname = 'Off'

15. 存在兼容性問題的擴展

  • 由于 Hyperf 基于 Swoole 協(xié)程實現(xiàn)
  • 而 Swoole 4 帶來的協(xié)程功能是 PHP 前所未有的,所以與不少擴展都仍存在兼容性的問題。
  • 以下擴展(包括但不限于)都會造成一定的兼容性問題,不能與之共用或共存:
  • xhprof
  • xdebug
  • blackfire
  • trace
  • uopz

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI