<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國際加速解決方案。 廣告
                [TOC] # php7和php5兼容性檢查 截止目前基本上絕大多數的PHP都可以完美的支持PHP7.0了。但是可能你恰好有一些歷史遺留的腳本和程序,那么也好辦,社區已經有好多的工具做兼容性檢查,甚至給出直接的代碼轉譯,以下是幾個值得推薦的工具: php7cc:一個很不錯的工具,不過目前已經不再更新了。(github地址: /sstalle/php7cc) php7mar:PHP 7遷移助手。 (github地址:/Alexia/php7mar) 使用方法: ~~~ php mar.php -f="/path/to/project/root/" -r="/path/to/output/" ~~~ phan:PHP腳本的靜態分析器。 可以做當做php 7的語法檢查器。(github地址:/phan/phan) `phan --project-root-directory --progress-bar -o phan.out` phpstan - PHP靜態分析和兼容性檢查工具。(github地址:/phpstan/phpstan) # php7性能設置要點 ## Opcache 首先,確保已經啟用了OpCache。可以通過主配置文件php.ini或它獨特的配置文件opcache.ini文件(例如/etc/php/7.2/fpm/conf.d/10-opcache.ini)。來進行設置。 ~~~ zend_extension=opcache.so opcache.enable=1 opcache.enable_cli=1 ~~~ ## 設置合適的realpath_cache_size 通過設置合宜的realpath_cache_size值可以改善你服務器的并發: ~~~ realpath_cache_size = 256k realpath_cache_ttl = 300 ~~~ equire,require_once,include,include_once這四個語句(并非函數)大家經常會用到,如果用這類語句去包含文件(相對路徑)的話,那么PHP會去include_path所 指定的路徑中去查找相關文件。一個應用中會存在大量的require_once語句調用,如果每次調用都去include_path中查找相應的文件,勢 必會對應用的性能產生負面影響。為了避免這種負面效應產生的影響,PHPER們會使用文件的絕對路徑來包含所需的文件,這樣就減少了查詢 include_path的次數。 其實,PHP自5.1.0起,就引入了RealpathCache。RealpathCache可以把PHP所用到文件的realpath進行緩存,以便PHP再使用這些文件的時候不需要再去include_path中查找,加快PHP的執行速度。 其中realpath_cache_size指定了realpath cache的大小,默認為16k,如果你覺得這個容量太小,可以適當增加;realpath_cache_ttl指定了緩存的過期時間,默認為120秒, 對于不經常修改的生產環境來說,這個數字可以調整的更大些。 由于realpath會 展開symlink(即軟連接),所以如果你使用修改symlink目標這種方式發布應用的新版本的話,realpath cache會導致一些問題的出現:當你修改symlink使其指向一個新的release目錄時候,由于realpath cache所緩存內容還沒有過期,于是就會出現應用使用的還是舊的release,直到realpath cache所緩存內容過期失效為止(默認120秒),或者重啟php-fpm。 ## 禁止mysqlnd.collect_statistics ~~~ mysqlnd.collect_statistics = Off mysqlnd.collect_memory_statistics = Off ~~~ 線上服務器選擇禁止這兩個選項,可以減少不必要的數據庫訪問。如果需要相關統計,可以使用MySQL工具或者監控。 是否啟用mysql內存訪問統計,可以通過下列函數獲取信息mysqli_get_client_stats(), mysqli_get_connection_stats(), mysqli_get_cache_stats() 生產環境為關閉 開發環境為打開 ## 使用新的編譯器 GCC 4.8編譯器下編譯時PHP才能開啟Global Register for opline and execute_data支持, 這個會帶來5%左右的性能提升。 ## 開啟Transparent HugePage (透傳大頁) 內存默認是以4KB分頁的,而虛擬地址和內存地址需要轉換,轉化時候需要進行搜索,為了加速轉換過程,可以通過內存TLB(Translation Lookaside Buffer)來。所以通過啟用大內存頁可以增加TLB 緩存命中,從而提高性能。 設置系統支持: ~~~ sysctl vm.nr_hugepages=512 ~~~ php.ini 增加支持 ~~~ opcache.huge_code_pages=1 ~~~ 關于這個值,很多實踐后發現啟用透傳大頁面后會帶來系統負載過高,cpu占用過高問題,這時候通過關閉就可以解決。所以這個參數需要實際情況斟酌測試使用。 ## 開啟PGO PHP是專門為一個項目服務,比如一個 Wordpress或者drupal站點,就可以使用PGO提高性能
                  <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>

                              哎呀哎呀视频在线观看