函式名稱:opcache_get_status()
函式描述:opcache_get_status() 函式用於獲取 OPCache 快取的狀態資訊。
適用版本:PHP 5 >= 5.5.5, PHP 7, PHP 8
語法:opcache_get_status(bool $get_scripts = true): array|false
引數:
- $get_scripts(可選):指定是否獲取已快取的指令碼資訊,預設為 true。如果設定為 false,則不會返回已快取的指令碼資訊。
返回值:
- 如果成功獲取 OPCache 快取的狀態資訊,則返回一個包含各種狀態引數的關聯陣列。如果獲取失敗,則返回 false。
示例:
<?php
$status = opcache_get_status();
if ($status !== false) {
echo "OPCache 快取已啟用\n";
echo "版本號:" . $status["version"]["version"] . "\n";
echo "記憶體使用情況:" . round($status["memory_usage"]["used_memory"] / 1024 / 1024, 2) . "MB / " . round($status["memory_usage"]["free_memory"] / 1024 / 1024, 2) . "MB\n";
echo "已快取的指令碼數量:" . $status["opcache_statistics"]["num_cached_scripts"] . "\n";
echo "快取命中率:" . round($status["opcache_statistics"]["opcache_hit_rate"], 2) . "%\n";
} else {
echo "OPCache 快取未啟用\n";
}
?>
解釋:
- 首先,我們呼叫 opcache_get_status() 函式獲取 OPCache 快取的狀態資訊,並將結果賦值給變數 $status。
- 接著,我們使用條件判斷,如果 $status 不等於 false,即成功獲取到狀態資訊,則輸出相關資訊。
- 首先,我們輸出 "OPCache 快取已啟用"。
- 然後,我們輸出 OPCache 的版本號,透過訪問 $status 陣列中的 "version" 鍵獲取版本號資訊。
- 接下來,我們輸出記憶體使用情況,透過訪問 $status 陣列中的 "memory_usage" 鍵獲取記憶體使用資訊,並進行格式化輸出。
- 然後,我們輸出已快取的指令碼數量,透過訪問 $status 陣列中的 "opcache_statistics" 鍵獲取已快取指令碼數量資訊。
- 最後,我們輸出快取命中率,透過訪問 $status 陣列中的 "opcache_statistics" 鍵獲取快取命中率資訊,並進行格式化輸出。
- 如果獲取狀態資訊失敗($status 等於 false),則輸出 "OPCache 快取未啟用"。
注意事項:
- 在使用 opcache_get_status() 函式之前,需要確保已經啟用了 OPCache 快取擴充套件。
- 如果不需要獲取已快取的指令碼資訊,可以將 $get_scripts 引數設定為 false,以提高效能。