黄p网站_在线看中文字幕_亚洲电影免费观看_成人激情视频_欧美成视频_中国av在线

框架安裝

注意事項(xiàng),請看完再進(jìn)行安裝

  • 框架使用 Composer 作為依賴管理工具,在開始安裝框架前,請確保已經(jīng)按上一章節(jié)的要求配置好環(huán)境并安裝好了 Composer 工具
  • 關(guān)于 Composer 的安裝可以參照 Composer官網(wǎng)安裝教程Composer中國全量鏡像 的安裝教程
  • 目前推薦的鏡像為 Composer官網(wǎng)鏡像【可能需要梯子】或 騰訊云鏡像阿里云鏡像
  • 在安裝過程中,會提示用戶選擇是否釋放框架的 Index.phpRouter.php 文件到項(xiàng)目目錄(默認(rèn)不會釋放,也不會生成 App 目錄),請保證項(xiàng)目目錄有可寫入權(quán)限
  • 安裝完成之后,如果沒有自動生成 App 目錄,請自行根據(jù) Hello World 章節(jié) 章節(jié)進(jìn)行配置
  • 部分機(jī)器(例如 Docker 環(huán)境)在使用框架時(shí)遇到類似 DNS Lookup resolve failed... 錯(cuò)誤,請更換機(jī)器的 DNS 為阿里云公共 DNS 223.5.5.5223.6.6.6。具體更換步驟可查看 更換 DNS

框架更新說明(安裝之前必看)

很多小伙伴,在使用 Swoole 4.6.x 擴(kuò)展時(shí),在使用 EasySwoole 進(jìn)行開發(fā)時(shí)(一般是在使用到 Swoole 協(xié)程時(shí)),遇到了類似如下錯(cuò)誤:\[FATAL ERROR\]: all coroutines (count: 1) are asleep - deadlock!,這個(gè)錯(cuò)誤屬于 Swoole 4.6.x 擴(kuò)展的 debug 信息,詳細(xì)可查看 協(xié)程配置,如果不想看到這個(gè)信息,可在 bootstrap 事件(即項(xiàng)目根目錄的 bootstrap.php 文件)中最開始的位置,對協(xié)程的使用進(jìn)行配置。配置示例代碼如下:

<?php
date_default_timezone_set('Asia/Shanghai');
// 關(guān)閉死鎖檢測相關(guān)堆棧信息輸出到日志
\Swoole\Coroutine::set(['enable_deadlock_check' => false]);

通過 Composer 安裝

切換 Composer 鏡像

# 推薦使用composer官方鏡像(如果使用此鏡像還是不行請自行更換其他源下載)
composer config -g repo.packagist composer https://repo.packagist.org

# 使用騰訊云 Composer 鏡像
composer config -g repo.packagist composer https://mirrors.tencent.com/composer/

# 使用阿里云 Composer 鏡像
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

刪除鏡像

composer config -g --unset repos.packagist

Composer 安裝 EasySwoole 框架

按下面的步驟進(jìn)行手動安裝

composer require easyswoole/easyswoole=3.7.x
php vendor/easyswoole/easyswoole/bin/easyswoole.php install

或者

composer require easyswoole/easyswoole=3.7.x
php vendor/bin/easyswoole.php install

Docker 下開發(fā)

如果您的本機(jī)環(huán)境并不能達(dá)到 EasySwoole 的運(yùn)行環(huán)境要求,或?qū)τ诃h(huán)境配置不是那么熟悉,那么您可以通過以下方法來運(yùn)行及開發(fā) EasySwoole 項(xiàng)目:

啟動容器

可以根據(jù)實(shí)際情況,映射到宿主機(jī)對應(yīng)的目錄,以下以 /wrokspace/easyswoole 為例。這個(gè)映射目錄您可以根據(jù)實(shí)際進(jìn)行修改。

如果 docker 啟動時(shí)開啟了 selinux-enabled 選項(xiàng),容器內(nèi)訪問宿主機(jī)資源就會受限,所以啟動容器時(shí)可以增加 --privileged -u root 選項(xiàng)

# MacOS/Linux
docker run --name easyswoole \
-v /workspace/easyswoole:/var/www \
-p 9501:9501 -it \
--privileged -u root \
--entrypoint /bin/sh \
easyswoolexuesi2021/easyswoole:php8.1.22-alpine3.16-swoole4.8.13

# Windows
docker run --name easyswoole -v D:\workspace\easyswoole:/var/www -p 9501:9501 -it --privileged -u root --entrypoint /bin/sh easyswoolexuesi2021/easyswoole:php8.1.22-alpine3.16-swoole4.8.13

EasySwoole 支持的 Docker 鏡像目前有如下:

  • easyswoolexuesi2021/easyswoole:php8.1.22-alpine3.16-swoole4.8.13:環(huán)境為 php8.1.22 + swoole5.1.1 + easyswoole 3.7.x,構(gòu)建鏡像 Dockerfile查看
  • 更多請查看 easyswoole/docker

創(chuàng)建及安裝框架

cd /var/www
composer require easyswoole/easyswoole=3.7.x
php vendor/easyswoole/easyswoole/bin/easyswoole.php install

或者

cd /var/www
composer require easyswoole/easyswoole=3.7.x
php vendor/bin/easyswoole.php install

安裝成功

執(zhí)行安裝之后,安裝成功則會有如下界面:

首次安裝,會提示您是否選擇釋放(release) Index.phpRouter.phpApp 目錄到項(xiàng)目目錄,執(zhí)行界面如下:

php vendor/easyswoole/easyswoole/bin/easyswoole.php install
 ______                          _____                              _        
|  ____|                        / ____|                            | |       
| |__      __ _   ___   _   _  | (___   __      __   ___     ___   | |   ___ 
|  __|    / _` | / __| | | | |  \___ \  \ \ /\ / /  / _ \   / _ \  | |  / _ \
| |____  | (_| | \__ \ | |_| |  ____) |  \ V  V /  | (_) | | (_) | | | |  __/
|______|  \__,_| |___/  \__, | |_____/    \_/\_/    \___/   \___/  |_|  \___|
                         __/ |                                                
                        |___/
do you want to release Index.php? [ Y / N (default) ] : Y
do you want to release Router.php? [ Y / N (default) ] : Y
install success,enjoy!!!
dont forget run composer dump-autoload !!!

注意,上述輸入了 YY,表示選擇了 release(釋放) Index.phpRouter.phpApp 目錄在項(xiàng)目根目錄,默認(rèn) NN 是不釋放的,也不會自動生成 App 目錄和 App 命名空間。

新版安裝注意事項(xiàng)

  • 新版的 EasySwoole 安裝默認(rèn)不會提供 App 命名空間,還有 Index 控制器
  • 重復(fù)安裝時(shí)需要填寫 N,不需要覆蓋已經(jīng)有的 EasySwooleEvent.php、index.php、dev.php、produce.php 等文件
  • 當(dāng)提示 exec 函數(shù)被禁用時(shí),請自己手動執(zhí)行 composer dump-autoload 命令更新命名空間
  • 當(dāng)提示 symlinkreadlink 函數(shù)被禁用時(shí),請自行修改 php.ini 配置文件取消這些函數(shù)的禁用

重復(fù)安裝時(shí),會提示您是否選擇 replace(覆蓋) 如下文件 Index.phpRouter.phpdev.phpproduce.phpbootstrap.phpEasySwooleEvent.php,你可以根據(jù)需要選擇是否覆蓋(replace),執(zhí)行界面如下:

php vendor/easyswoole/easyswoole/bin/easyswoole.php install
 ______                          _____                              _        
|  ____|                        / ____|                            | |       
| |__      __ _   ___   _   _  | (___   __      __   ___     ___   | |   ___ 
|  __|    / _` | / __| | | | |  \___ \  \ \ /\ / /  / _ \   / _ \  | |  / _ \
| |____  | (_| | \__ \ | |_| |  ____) |  \ V  V /  | (_) | | (_) | | | |  __/
|______|  \__,_| |___/  \__, | |_____/    \_/\_/    \___/   \___/  |_|  \___|
                         __/ |                                                
                        |___/                                                
Index.php has already existed, do you want to replace it? [ Y / N (default) ] : N
Router.php has already existed, do you want to replace it? [ Y / N (default) ] : N
dev.php has already existed, do you want to replace it? [ Y / N (default) ] : N
produce.php has already existed, do you want to replace it? [ Y / N (default) ] : N
bootstrap.php has already existed, do you want to replace it? [ Y / N (default) ] : N
EasySwooleEvent.php has already existed, do you want to replace it? [ Y / N (default) ] : N
install success,enjoy!!!
dont forget run composer dump-autoload !!!

如果您使用 Docker 方式進(jìn)行安裝,您安裝成功之后就可以在宿主機(jī) /var/www/ 中看到您安裝好的代碼了。 由于 EasySwoole 是持久化的 CLI 框架,當(dāng)您修改完您的代碼后,通過 CTRL + C 終止當(dāng)前啟動的進(jìn)程實(shí)例,并重新執(zhí)行 php easyswoole.php server start 啟動命令即可。如果您想開啟后臺守護(hù)模式運(yùn)行,用于部署,可查看 基礎(chǔ)管理命令

安裝報(bào)錯(cuò)

當(dāng)執(zhí)行安裝腳本,出現(xiàn)類似以下錯(cuò)誤時(shí):

dir=$(cd "${0%[/\\]*}" > /dev/null; cd '../easyswoole/easyswoole/bin' && pwd)

if [ -d /proc/cygdrive ]; then
    case $(which php) in
        $(readlink -n /proc/cygdrive)/*)
            # We are in Cygwin using Windows php, so the path must be translated
            dir=$(cygpath -m "$dir");
            ;;
    esac
fi

"${dir}/easyswoole" "$@"

請檢查環(huán)境是否為寶塔等其他集成面板,或者是 php.ini 配置項(xiàng)中禁用了 symlinkreadlink 函數(shù),如果禁用了,請關(guān)閉這兩個(gè)函數(shù)的禁用,并刪除 vender 目錄,然后重新執(zhí)行 composer require 或者是 composer install 或者是 composer update

如果取消了函數(shù)禁用并且刪除 vendor 目錄,并重新執(zhí)行 composer install 之后。依舊出現(xiàn)以上錯(cuò)誤時(shí),大概率是因?yàn)樘摂M機(jī)等權(quán)限原因?qū)е萝涙溄邮А?墒褂?php vendor/easyswoole/easyswoole/bin/easyswoole.php 命令進(jìn)行啟動框架。或者直接修改項(xiàng)目根目錄的 easyswoole 文件,引入 vendor/easyswoole/easyswoole/bin/easyswoole.php

安裝 IDE 代碼提示組件

composer require easyswoole/swoole-ide-helper

啟動框架

中途沒有報(bào)錯(cuò)的話,執(zhí)行:

# 啟動框架
cd /var/www
php easyswoole.php server start

此時(shí)可以訪問 http://localhost:9501 就看到框架的歡迎頁面,表示框架已經(jīng)安裝成功。

啟動框架失敗可能遇到的問題

  • not controller class match

    • composer.json 注冊 App 這個(gè)名稱空間了嗎?
    • 執(zhí)行過 composer dump-autoload 了嗎?
    • 存在 Index 控制器,但是文件大小寫、路徑都對了嗎?
  • task socket listen fail

    • 注意,在部分環(huán)境下,例如 win10docker 環(huán)境中,不可把虛擬機(jī)共享目錄作為 EasySwooleTemp 目錄,否則會因?yàn)闄?quán)限不足無法創(chuàng)建 socket,產(chǎn)生報(bào)錯(cuò):listen xxxxxx.sock fail,為此可以手動在 dev.php 配置文件里把 Temp 目錄改為其他路徑即可,如:'/tmp'
  • 外網(wǎng)無法正常訪問

    • 注意:用戶如果外網(wǎng)無法正常訪問時(shí),請檢查機(jī)器環(huán)境的防火墻/安全組是否開放 9501 或其他對應(yīng)端口。詳細(xì)解決方案請看 常見問題

其他

  • QQ 交流群

    • VIP 群 579434607 (本群需要付費(fèi)599元)
    • EasySwoole 官方一群 633921431(已滿)
    • EasySwoole 官方二群 709134628(已滿)
    • EasySwoole 官方三群 932625047(已滿)
    • EasySwoole 官方四群 779897753(已滿)
    • EasySwoole 官方五群 853946743(已滿)
    • EasySwoole 官方六群 524475224(已滿)
    • EasySwoole 官方七群 1016674948
  • 商業(yè)支持:

    • QQ 291323003
    • EMAIL admin@fosuss.com
  • 作者微信

  • 捐贈 您的捐贈是對 EasySwoole 項(xiàng)目開發(fā)組最大的鼓勵(lì)和支持。我們會堅(jiān)持開發(fā)維護(hù)下去。 您的捐贈將被用于:

    • 持續(xù)和深入地開發(fā)
    • 文檔和社區(qū)的建設(shè)和維護(hù)
主站蜘蛛池模板: 伊人最新网址 | 草久网| 91福利影院在线观看 | 91麻豆产精品久久久久久 | 精品久久久久久亚洲综合网 | 成人精品久久久 | 亚洲成年人网站在线观看 | av网站在线免费观看 | 亚洲 欧美 日韩在线 | 六月丁香av | 一区视频 | 日韩欧美在线一区二区 | 久久国产精品精品国产 | 国产传媒日韩欧美 | 国产97免费视频 | 欧美一区二区在线播放 | 亚洲精品一区中文字幕乱码 | 亚洲综合区 | 久草久| 在线观看成人av | 成人a在线观看 | 97视频免费在线观看 | 夜夜爽99久久国产综合精品女不卡 | 欧美日韩一区二区电影 | 四虎在线视频 | 国产免费网址 | 中文字幕日韩在线 | 香蕉二区| 精品免费久久 | 一区二区三区精品 | 免费观看的av | av一区二区三区四区 | 久久久久久亚洲 | 久久久久久久国产 | 经典法国性xxxx精品 | 午夜无码国产理论在线 | 君岛美绪一区二区三区在线视频 | 亚洲精品乱 | 99免费精品| 国产高清一区二区 | 一片毛片 |