當前位置:首頁 » 文件管理 » thinkphp靜態緩存

thinkphp靜態緩存

發布時間: 2023-06-14 05:59:08

『壹』 thinkphp5.0怎麼關閉緩存

ThinkPHP在數據緩存方麵包括文件方式、共享內存方式和資料庫方式在內的多種方式進行緩存,通過插件方式還可以增加以後需要的緩存類,讓應用開發可
以選擇更加適合自己的緩存方式,從而有效地提高應用執行效率。目前已經支持的緩存方式包括:File、Apachenote、Apc、
Eaccelerator、Memcache、Shmop、Sqlite、Db、Redis和Xcache。

為了開發的方便,可以把緩存給去除。

1.找到ThinkPHPCommonconvention.php和ThinkPHPCommondebug.php

2.打開這兩個文件找到你想要的設置即可。

debug.php中
'TMPL_CACHE_ON'=>false, // 默認開啟模板緩存

復制代碼
convention.php中'
TMPL_CACHE_ON' => false, // 默認開啟模板編譯緩存 false 的話每次都重新編譯模板

'ACTION_CACHE_ON' => false, // 默認關閉Action 緩存

'HTML_CACHE_ON' => false, // 默認關閉靜態緩存

復制代碼
thinkphp 怎麼關閉全部緩存?(
APP_DEBUG=>true
DB_FIELD_CACHE=>false
HTML_CACHE_ON=>false

復制代碼
關閉ThinkPHP模板緩存

最後自己找見了,在config.php裡面加上一句
'TMPL_CACHE_ON' => false,
'TMPL_CACHE_ON' => false,

復制代碼
這樣每次運行都重新生成緩存

『貳』 如何配置ThinkPHP中靜態緩存的存放路徑

1)首先查看ThinkPHP核心文件core.php,發現引入的各種類php中,有一名為:View.class.php,視圖類。顧名思義此類應與模板輸出、緩存及相關操作有關。
2)
打開View.class.php,用eclipse的outline視圖查看該類的結構,發現一方法名為:buildHtml(),創建靜態頁面。此方
法有一行代碼為:$htmlpath = !empty($htmlpath)?$htmlpath:HTML_PATH;
這行代碼很
顯然是定義靜態頁面的路徑的,其中可以看到前面說到的HTML_PATH。使用eclipse的查看變數源位置(按住ctrl,滑鼠左鍵點擊變數),可以
看到有2個供追蹤的變數源位置,paths.php和~runtime.php,後者是非核心臨時文件,舍棄之。
3)打開
paths.php,可以找到HTML_PATH的這一行代碼:define('HTML_PATH',APP_PATH.'/'.HTML_DIR.'
/');,看此處可知,HTML_PATH的結果與系統變數HTML_PATH無關,而是由另外兩個系統變數拼湊而成。
其中
APP_PATH為項目所在路徑,HTML_DIR追蹤之,可在同一文件內找到代碼:define('HTML_DIR',
'Html');而這個Html文件夾正是我怎麼改都改不掉的緩存存放路徑,於是改之,刪Runtime(因為前面可以看到該臨時文件夾有存放
HTML_PATH變數),刷新,成功解決

『叄』 ThinkPHP中關於靜態緩存的定義格式為全局的操作靜態規則

ThinkPHP內置了靜態緩存的功能,並且支持靜態緩存的規則定義。
要使用靜態緩存功能,需要開啟HTML_CACHE_ON 參數,並且使用HTML_CACHE_RULES配置參數設置靜態緩存規則文件 。
靜態規則的定義方式如下:
'HTML_CACHE_ON'=>true,
'HTML_CACHE_RULES'=> array(
'ActionName' => array('靜態規則', '靜態緩存有效期', '附加規則'),
'MoleName(小寫)' => array('靜態規則', '靜態緩存有效期', '附加規則'),
'MoleName(小寫):ActionName' => array('靜態規則', '靜態緩存有效期', '附加規則'),
'*' => array('靜態規則', '靜態緩存有效期', '附加規則'),
//…更多操作的靜態規則
)
靜態緩存文件的根目錄在HTML_PATH 定義的路徑下面,並且只有定義了靜態規則的操作才會進行靜態緩存,注意,靜態規則的定義有三種方式:
第一種是定義全局的操作靜態規則,例如定義所有的read操作的靜態規則為
'read'=>array('{id}','60')

其中,{id} 表示取$_GET['id'] 為靜態緩存文件名,第二個參數表示緩存60秒
第二種是定義全局的模塊靜態規則,例如定義所有的User模塊的靜態規則為
'user:'=>array('User/{:action}_{id}','600')

其中,{:action} 表示當前的操作名稱 靜態
第三種是定義某個模塊的操作的靜態規則,例如,我們需要定義Blog模塊的read操作進行靜態緩存
'blog:read'=>array('{id}',0)
有個別特殊的規則,例如空模塊和空操作的靜態規則的定義,可以使用下面的方式:
'empty:index'=>array('{:mole}_{:action}',0) // 定義空模塊的靜態規則
'User:_empty'=>array('User/{:action}',0) // 定義空操作的靜態規則
第四種方式是定義全局的靜態緩存規則,這個屬於特殊情況下的使用,任何模塊的操作都適用,例如
'*'=>array('{$_SERVER.REQUEST_URI|md5}'),
根據當前的URL進行緩存

靜態規則是用於定義要生成的靜態文件的名稱,寫法可以包括以下情況
1、使用系統變數 包括 _GET _REQUEST _SERVER _SESSION _COOKIE
格式:
{$_×××|function}
例如:
{$_GET.name} {$_SERVER. REQUEST_URI|md5}
2、使用框架特定的變數
例如:{:app}、{:group} 、{:mole} 和{:action} 分別表示當前項目名、分組名、模塊名和操作名

3、使用_GET變數
{var|function}
也就是說 {id} 其實等效於 {$_GET.id}

4、直接使用函數
{|function}
例如:{|time}

5、支持混合定義,例如我們可以定義一個靜態規則為:
'{id},{name|md5}'
在{}之外的字元作為字元串對待,如果包含有」/」,會自動創建目錄。
例如,定義下面的靜態規則:
{:mole}/{:action}_{id}
則會在靜態目錄下面創建模塊名稱的子目錄,然後寫入操作名_id.shtml 文件。

靜態有效時間 單位為秒如果不定義,則會獲取配置參數HTML_CACHE_TIME 的設置值,如果定義為0則表示永久緩存。
附加規則通常用於對靜態規則進行函數運算,例如
'read'=>array('Think{id},{name}','60', 'md5')
翻譯後的靜態規則是 md5('Think'.$_GET['id']. ', '.$_GET['name']);
和靜態緩存相關的配置參數包括:
HTML_CACHE_ON 是否開啟靜態緩存功能
HTML_FILE_SUFFIX 靜態文件後綴 慣例配置的值是 .html
HTML_CACHE_TIME 默認的靜態緩存有效期 默認60秒 可以在靜態規則定義覆蓋

『肆』 ThinkPHP3.2 的頁面靜態化功能的實現

(1)在根目錄下的程序入口文件index.php中加下面這行:

define('HTML_PATH','./HTML/');//生成靜態頁面的文件位置  (nginx伺服器報錯時注釋此行,默認地址為runtime目錄平層的Html)

(2)在項目的配置文件config.php中進行如下配置:

'HTML_CACHE_ON'=>true,// 開啟靜態緩存

'HTML_CACHE_TIME'=>604800,// 全局靜態緩存有效期(秒)(3600*24*7)

'HTML_FILE_SUFFIX'=>'.shtml',// 設置靜態緩存文件後綴

'HTML_CACHE_RULES'=>array(// 定義靜態緩存規則

// 定義格式1 數組方式

// 定義格式2 字元串方式

//後一個參數是靜態緩存有效期,單位為秒。如果不定義,則會獲取配置參數HTML_CACHE_TIME 的設置值,如果定義為0則表示永久緩存。

//{id} 表示取$_GET['id']

'CondVoucher:conGuid' =>array('{:controller}_{:action}/conGuid'),

(3)訪問url生成緩存到html目錄下查看緩存文件

參照手冊: http://document.thinkphp.cn/manual_3_2.html#html_cache

『伍』 Thinkphp3.0版本的靜態緩存該如何配置

'HTML_CACHE_ON' => true, // 開啟靜態緩存'HTML_CACHE_TIME' => 60, // 全局靜態緩存有效期(秒)'HTML_FILE_SUFFIX' => '.shtml', // 設置靜態緩存文件後綴'HTML_CACHE_RULES' => array( // 定義靜態緩存規則 // 定義格式1 數組方式 '靜態地址' => array('靜態規則', '有效期', '附加規則'), // 定義格式2 字元串方式 '靜態地址' => '靜態規則', )

手冊上是這樣配的,你是不是寫的作用於不對,要在config文件夾中配置。

熱點內容
鐵電隨機存儲器 發布:2025-02-06 10:07:19 瀏覽:914
eclipse編程 發布:2025-02-06 10:02:21 瀏覽:636
開源庫編譯管理員 發布:2025-02-06 09:39:14 瀏覽:914
臉書怎麼注冊安卓 發布:2025-02-06 09:36:47 瀏覽:381
車用安卓導航無線打不開什麼原因 發布:2025-02-06 09:27:50 瀏覽:790
安卓與蘋果如何互相傳送文件 發布:2025-02-06 09:27:40 瀏覽:26
華為伺服器盤符如何分配 發布:2025-02-06 09:26:41 瀏覽:560
傳奇h5源碼下載 發布:2025-02-06 09:26:06 瀏覽:78
編譯uclibc 發布:2025-02-06 09:09:04 瀏覽:152
用gcc編譯16位匯編 發布:2025-02-06 09:06:07 瀏覽:823