函式名稱:opcache_invalidate()
適用版本:PHP 5 >= 5.5.0, PHP 7, PHP 8
函式描述:opcache_invalidate()函式用於使特定的檔案或目錄的快取無效,強制重新編譯並快取。
語法:bool opcache_invalidate ( string $script [, bool $force = FALSE ] )
引數:
- script:要使其快取無效的檔案路徑或目錄路徑。
- force(可選):如果設定為true,則會強制使快取無效,並且不會檢查檔案的修改時間。
返回值:成功時返回true,失敗時返回false。
示例1:使單個檔案的快取無效
$script = '/path/to/file.php';
if (opcache_invalidate($script)) {
echo "快取已成功無效化。";
} else {
echo "快取無效化失敗。";
}
示例2:使整個目錄的快取無效
$dir = '/path/to/directory';
$force = true;
if (opcache_invalidate($dir, $force)) {
echo "目錄快取已成功無效化。";
} else {
echo "目錄快取無效化失敗。";
}
注意事項:
- 為了使用opcache_invalidate()函式,必須啟用OPcache擴充套件。
- 在使用opcache_invalidate()函式之前,應該檢查OPcache擴充套件是否已載入和啟用。
- OPcache快取無效化可能會導致效能下降,因為需要重新編譯和快取檔案。因此,建議僅在需要時使用該函式,而不是頻繁地呼叫它。
- 如果未指定force引數,預設情況下,opcache_invalidate()函式會檢查檔案的修改時間,只有當檔案被修改後才會使快取無效。
- 在某些情況下,可能需要重啟PHP程序才能使快取無效。