<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>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ## 介紹 `Swoole`是一個使用`C++`語言編寫的基于異步事件驅動和協程的并行網絡通信引擎,為`PHP`提供[協程](https://wiki.swoole.com/zh-cn/#/coroutine)、[高性能](https://wiki.swoole.com/zh-cn/#/question/use?id=how-is-the-performance-of-swoole)網絡編程支持。提供了多種通信協議的網絡服務器和客戶端模塊,可以方便快速的實現`TCP/UDP服務`、`高性能Web`、`WebSocket服務`、`物聯網`、`實時通訊`、`游戲`、`微服務`等,使`PHP`不再局限于傳統的 Web 領域。 經過數月的開發和測試工作,Swoole v6 的第一個版本終于發布了。 ## Swoole V6.0 `Swoole v6`版本引入多線程+協程的編程模式支持。既可以擁有協程并發`IO`編程的便利,又可以擁有多線程并行執行、共享內存堆棧的優勢。這使得`PHP`在開發游戲服務器、通信服務器方面更有效率。 Swoole V6.0 將為 PHP 帶來穩定可靠、生產可用的多線程方案。歡迎各位進行試用,為我們提交測試報告和問題反饋。 ## 新特性: * `Swoole`支持多線程模式,當`php`是`zts`模式,編譯`Swoole`時開啟`--enable-swoole-thread`時,就能使用多線程模式。 * 新增線程管理類`Swoole\Thread`。?[@matyhtf](https://github.com/matyhtf) * 新增線程鎖`Swoole\Thread\Lock`。?[@matyhtf](https://github.com/matyhtf) * 新增線程原子計數`Swoole\Thread\Atomic`,`Swoole\Thread\Atomic\Long`。?[@matyhtf](https://github.com/matyhtf) * 新增安全并發容器`Swoole\Thread\Map`,`Swoole\Thread\ArrayList`,`Swoole\Thread\Queue`。?[@matyhtf](https://github.com/matyhtf) * 文件異步操作支持`iouring`作為底層引擎,安裝了`liburing`和編譯`Swoole`時開啟`--enable-iouring`,`file_get_contents`,`file_put_contents`,`fopen`,`fclose`,`fread`,`fwrite`,`mkdir`,`unlink`,`fsync`,`fdatasync`,`rename`,`fstat`,`lstat`,`filesize`這些函數的異步操作將會由`iouring`實現。?[@matyhtf](https://github.com/matyhtf)?[@NathanFreeman](https://github.com/NathanFreeman) * 升級`Boost Context`版本到1.84。現在,龍芯CPU也能夠支持協程了。?[@NathanFreeman](https://github.com/NathanFreeman) ## 示例 **創建線程:** ~~~ use Swoole\Thread; ~~~ **線程 + 服務端(異步風格)** ~~~ use Swoole\Process; ~~~ **Thread + Coroutine 在線程中使用協程** ~~~ use Swoole\Thread; ~~~ **并發 Map** ~~~ use Swoole\Thread; ~~~ Bug修復: * 修復無法通過`pecl`安裝的問題。?[@remicollet](https://github.com/remicollet) * 修復`Swoole\Coroutine\FastCGI\Client`客戶端無法設置keepalive。?[@NathanFreeman](https://github.com/NathanFreeman) * 修復請求參數超過`max_input_vars`時會拋出錯誤導致進程不斷重啟的問題。?[@NathanFreeman](https://github.com/NathanFreeman) * 修復在協程中使用`Swoole\Event::wait()`導致的未知問題。?[@matyhtf](https://github.com/matyhtf) * 修復`proc_open`在協程化的時候不支持pty的問題。?[@matyhtf](https://github.com/matyhtf) * 修復`pdo_sqlite`在PHP8.3會出現段錯誤的問題。?[@NathanFreeman](https://github.com/NathanFreeman) * 修復編譯`Swoole`時的無用警告。?[@Appla](https://github.com/Appla)?[@NathanFreeman](https://github.com/NathanFreeman) * 修復如果`STDOUT/STDERR`已經關閉時,底層調用zend\_fetch\_resource2\_ex會拋出錯誤。?[@Appla](https://github.com/Appla)?[@matyhtf](https://github.com/matyhtf) * 修復無效的`set_tcp_nodelay`配置。?[@matyhtf](https://github.com/matyhtf) * 修復文件上傳的時候偶爾會觸發不可達的分支問題。?[@NathanFreeman](https://github.com/NathanFreeman) * 修復設置了`dispatch_func`,會導致php底層拋出錯誤的問題。?[@NathanFreeman](https://github.com/NathanFreeman) * 修復AC\_PROG\_CC\_C99在autoconf >= 2.70版本中已過時。?[@petk](https://github.com/petk) * 當線程創建失敗時,捕獲其拋出的異常。?[@matyhtf](https://github.com/matyhtf) * 修復`_tsrm_ls_cache`未定義問題。?[@jingjingxyk](https://github.com/jingjingxyk) * 修復在`GCC 14`編譯會導致致命錯誤。?[@remicollet](https://github.com/remicollet) ## 內核優化 * 移除對`socket structs`的無用檢查。?[@petk](https://github.com/petk) * 升級swoole Library。?[@deminy](https://github.com/deminy) * `Swoole\Http\Response`增加對451狀態碼的支持。?[@abnegate](https://github.com/abnegate) * 同步PHP不同版本的`文件`操作代碼。?[@NathanFreeman](https://github.com/NathanFreeman) * 同步PHP不同版本的`pdo`操作代碼。?[@NathanFreeman](https://github.com/NathanFreeman) * 優化`Socket::ssl_recv()`的代碼。?[@matyhtf](https://github.com/matyhtf) * 優化了config.m4,一些配置可以通過`pkg-config`設置依賴庫位置。?[@NathanFreeman](https://github.com/NathanFreeman) * 優化`解析請求頭`的時候使用動態數組的問題 。?[@NathanFreeman](https://github.com/NathanFreeman) * 優化在多線程模式下,文件描述符`fd`的生命周期問題。?[@matyhtf](https://github.com/matyhtf) * 優化協程一些基本邏輯。?[@matyhtf](https://github.com/matyhtf) ## 廢棄 * 不再支持`PHP 8.0` * 不再支持`Swoole\Coroutine\MySQL`協程客戶端 * 不再支持`Swoole\Coroutine\Redis`協程客戶端 * 不再支持`Swoole\Coroutine\PostgreSQL`協程客戶端
                  <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>

                              哎呀哎呀视频在线观看