<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # FileMonitor文件監控組件 **背景:** Workerman是常駐內存運行的,常駐內存可以避免重復讀取磁盤、重復解釋編譯PHP,以便達到最高性能。所以更改業務代碼后需要手動reload或者restart才能生效。 同時workerman提供一個監控文件更新的服務,該服務檢測到有文件更新后會自動運行reload,從新載入PHP文件。開發者將其放入到項目中隨著項目啟動即可。 **文件監控服務下載地址:** 1、無依賴版本:<https://github.com/walkor/workerman-filemonitor> 2、依賴inotify版本:<https://github.com/walkor/workerman-filemonitor-inotify> (需要安裝[inotify擴展](http://php.net/manual/zh/book.inotify.php)) **兩個版本區別:** 地址1版本使用的是每秒輪詢文件更新時間的方法判斷文件是否更新, 地址2利用Linux內核[inotify](http://baike.baidu.com/view/2645027.htm)機制,文件更新時系統會主動通知workerman。 一般使用第一個無依賴版本即可 **使用方法** 將Applications/FileMonitor目錄拷貝到你項目的Applications目錄下即可。 如果你的項目沒有Applications目錄,可以將Applications/FileMonitor/start.php文件拷貝到你的項目任意位置,在啟動腳本中require到啟動腳本中即可。 監控組件默認監控的是Applications目錄,如果需要更改,可以修改Applications/FileMonitor/start.php中的```$monitor\_dir```變量,```$monitor\_dir```的值建議是絕對路徑。 **注意:** - windows系統不支持reload,無法使用此監控服務。 - 只有在debug模式下才生效,daemon下不會執行文件監控(為何不支持daemon模式見下面說明)。 - 只有在Worker::runAll運行后加載的文件才能熱更新,或者說只有在onXXX回調中加載的文件才能熱更新。 **為何不支持daemon模式?** daemon模式一般為線上正式環境運行的模式。正式環境發布版本時,一般一次發布多個文件,文件之間也可能有依賴。由于多個文件同步到磁盤需要一定時間,會存在某個時刻磁盤上的文件不全的情況,如果這時候監控到了文件更新并執行了reload,則會有找不到文件導致致命錯誤的風險。 另外正式環境中有時候會在線定位bug,如果直接編輯代碼保存,就會立刻生效,有可能出現語法錯誤導致線上服務不可用。正確的方法應該是保存代碼后,通過```php -l yourfile.php```檢查下是否有語法錯誤,然后再reload熱更新代碼。 如果開發者確實需要daemon模式開啟文件監控及自動更新,可以自行更改Applications/FileMonitor/start.php代碼,將Worker::$daemonize部分的判斷去掉即可。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看