91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

通過PHPStorm配置Hyperf熱更新開發環境的方法

發布時間:2020-12-15 11:21:45 來源:億速云 閱讀:610 作者:小新 欄目:軟件技術

小編給大家分享一下通過PHPStorm配置Hyperf熱更新開發環境的方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

通過 PHPStorm 配置熱更新開發環境

在開發 Hyperf/Swoole 這樣的持久化應用時,每當應用代碼發生了變更時,都需要重啟應用使代碼生效,盡管在開發 CLI 應用時這也是一個正確且合理地操作,因為我們開發過程中仍需要關注 stdout 輸出的信息以判斷應用的運行狀態與結果。但這跟我們原來開發 PHP-FPM 應用的習慣有很大的差異,如果我們希望保持像 PHP-FPM 下的開發習慣,保存代碼即生效的話,都能怎么做呢?

根據「Hyperf 官方文檔 - 協程組件庫」一章內的介紹,有幾款第三方工具可以提供該功能的支持,但如果我們使用的是 PHPStorm 來進行開發,那么我們可以直接通過 PHPStorm 里面的 FileWatcher 來實現該功能。

實現的原理就是通過 FileWatcher 來監聽項目下的文件變更,然后執行一個 shell 腳本,通過這個 shell 腳本來進行應用的重啟工作。

創建 reload.sh

首先我們先在 skeleton 的 bin 目錄下創建一個 reload.sh 文件,并寫入以下 Shell 代碼:

#!/bin/bash
basepath=$(cd `dirname $0`; pwd)
cd $basepath
if [ -f "../runtime/hyperf.pid" ];then
cat ../runtime/hyperf.pid | awk '{print $1}' | xargs kill && rm -rf ../runtime/hyperf.pid && rm -rf ../runtime/container
fi
php hyperf.php start

這里的 shell 腳本所做的事情就是判斷 ./runtime/hyperf.pid 文件是否存在,如果存在則根據這個 pid 文件來 kill 掉已運行的應用,并刪除掉這個 pid 文件,隨后通過執行 php bin/hyperf.php start 命令來啟動應用

設置應用為守護進程運行

由于設置了熱更新,那我們也需要把應用設置為守護進程運行,在 Hyperf 里可以通過在 config/autoload/server.php 的 settings 中增加 daemonize 并設置為 true,參考配置如下:

<?php
// 這里省略了其它配置
return [
    'settings' => [
        'daemonize' => 1,
    ],
];

配置 FileWatcher

接下來我們在 PHPStorm 中配置 FileWatcher 的規則,通過 Preferences -> Tools -> File Watchers 進入配置頁面,然后點擊底部的 + 添加一個配置,參考配置如下:

Name: php
File Type: PHP
Scope: Project Files
Program: sh
Arguments: $ProjectFileDir$/bin/reload.sh
Show Console: Always

通過PHPStorm配置Hyperf熱更新開發環境的方法

然后在列表我們要再將我們剛才創建的 watcher 勾選為 enabled

通過PHPStorm配置Hyperf熱更新開發環境的方法

完成

至此,我們便完成了所有的配置,此時我們僅需通過 sh bin/reload.php 命令來啟動應用,隨后更改文件我們便會在 IDE 上看到如下的 output 窗口輸出重啟的信息了。

通過PHPStorm配置Hyperf熱更新開發環境的方法

以上是“通過PHPStorm配置Hyperf熱更新開發環境的方法”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

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

AI

亳州市| 二连浩特市| 景洪市| 台北市| 江华| 新丰县| 阳朔县| 莱西市| 大同市| 临泽县| 金溪县| 武清区| 咸宁市| 库车县| 胶南市| 大田县| 平果县| 安乡县| 博客| 多伦县| 常熟市| 增城市| 筠连县| 南溪县| 祁东县| 揭东县| 定陶县| 韩城市| 金堂县| 黄冈市| 莆田市| 玉龙| 类乌齐县| 铅山县| 湟源县| 田林县| 闸北区| 邵东县| 元氏县| 余干县| 石渠县|