中山php|最優(yōu)網(wǎng)絡(luò) :中山做網(wǎng)站 中山php建站
最優(yōu)良人
Category Page for: 后端程序
在IIS中運行php,讓IIS支持php配置方法
2011/09/29 at 16:20 » Comments (270)
1、將 PHP 安裝為 ISAPI 模式: 在“控制面板”的“管理工具”中選擇“Internet 服務(wù)管理器”,打開 IIS 后停止服務(wù),然后在左側(cè)“默認Web站點”上單擊右鍵選擇“屬性”,在打開的“默認 Web 站點屬性”窗口的“ISAPI 篩選器”標簽里找到并點擊“添加”按鈕,在彈出的“篩選器屬性”窗口中的“篩選器名稱”欄中輸入:PHP,再將可執(zhí)行文件指向 php4isapi.dll 所在路徑,如:C:\PHP\sapi\php4isapi.dll。 2、打開“默認 Web 站點屬性”窗口的“主目錄”標簽,找到并點擊“配置”按鈕,在彈出的“應(yīng)用程序配置”窗口中找到并點擊“添加”按鈕,在彈出的窗口中新增一個擴展名映射,擴展名為 .php,單擊“瀏覽”將可執(zhí)行文件指向 php4isapi.dll 所在路徑,如:C:\PHP\sapi\php4isapi.dll,然后一路確定即可。如果還想支持諸如 .php3,.phtml 等擴展名的 PHP 文件,可以重復(fù)“添加”步驟。 3、再打開“默認 Web 站點屬性”窗口的“的“文檔”標簽,找到并點擊“添加”按鈕,向默認的 Web 站點啟動文檔列表中添加 index.php 項。您可以將 index.php 升到最高優(yōu)先級,這樣,訪問站點時就會首先自動尋找并打開 ...more »mysql所有數(shù)據(jù)庫引擎用法MyISAM、InnoDB、MERGE、MEMORY(HEAP)、BDB(BerkeleyDB)、EXAMPLE、FEDERATED、ARCHIVE、CSV、BLACKHOLE
2011/09/21 at 14:50 » Comments (94)
MySQL有多種存儲引擎,每種存儲引擎有各自的優(yōu)缺點,大家可以擇優(yōu)選擇使用: MyISAM、InnoDB、MERGE、MEMORY(HEAP)、BDB(BerkeleyDB)、EXAMPLE、FEDERATED、ARCHIVE、CSV、BLACKHOLE。 MySQL支持數(shù)個存儲引擎作為對不同表的類型的處理器。MySQL存儲引擎包括處理事務(wù)安全表的引擎和處理非事務(wù)安全表的引擎: · MyISAM管理非事務(wù)表。它提供高速存儲和檢索,以及全文搜索能力。MyISAM在所有MySQL配置里被支持,它是默認的存儲引擎,除非你配置MySQL默認使用另外一個引擎。 · MEMORY存儲引擎提供“內(nèi)存中”表。MERGE存儲引擎允許集合將被處理同樣的MyISAM表作為一個單獨的表。就像MyISAM一樣,MEMORY和MERGE存儲引擎處理非事務(wù)表,這兩個引擎也都被默認包含在MySQL中。 注釋:MEMORY存儲引擎正式地被確定為HEAP引擎。 · InnoDB和BDB存儲引擎提供事務(wù)安全表。BDB被包含在為支持它的操作系統(tǒng)發(fā)布的MySQL-Max二進制分發(fā)版里。InnoDB也默認被包括在所 有MySQL 5.1二進制分發(fā)版里,你可以按照喜好通過配置MySQL來允許或禁止任一引擎。 · EXAMPLE存儲引擎是一個“存根”引擎,它不做什么。你可以用這個引擎創(chuàng)建表,但沒有數(shù)據(jù)被存儲于其中或從其中檢索。這個引擎的目的是服務(wù),在 MySQL源代碼中的一個例子,它演示說明如何開始編寫新存儲引擎。同樣,它的主要興趣是對開發(fā)者。 · NDB Cluster是被MySQL Cluster用來實現(xiàn)分割到多臺計算機上的表的存儲引擎。它在MySQL-Max 5.1二進制分發(fā)版里提供。這個存儲引擎當前只被Linux, Solaris, 和Mac OS X 支持。在未來的MySQL分發(fā)版中,我們想要添加其它平臺對這個引擎的支持,包括Windows。 · ARCHIVE存儲引擎被用來無索引地,非常小地覆蓋存儲的大量數(shù)據(jù)。 · CSV存儲引擎把數(shù)據(jù)以逗號分隔的格式存儲在文本文件中。 · BLACKHOLE存儲引擎接受但不存儲數(shù)據(jù),并且檢索總是返回一個空集。 · FEDERATED存儲引擎把數(shù)據(jù)存在遠程數(shù)據(jù)庫中。在MySQL 5.1中,它只和MySQL一起工作,使用MySQL C Client API。在未來的分發(fā)版中,我們想要讓它使用其它驅(qū)動器或客戶端連接方法連接到另外的數(shù)據(jù)源。 當你創(chuàng)建一個新表的時候,你可以通過添加一個ENGINE 或TYPE 選項到CREATE TABLE語句來告訴MySQL你要創(chuàng)建什么類型的表: CREATE TABLE t ...more »mysql數(shù)據(jù)庫引擎HEAP(MEMORY)的使用,內(nèi)存表,臨時表的用法
2011/09/21 at 14:47 » Comments (407)
HEAP表是訪問數(shù)據(jù)速度最快的MySQL表,他使用保存在內(nèi)存中的散列索引。但如果MySQL或者服務(wù)器重新啟動,表中數(shù)據(jù)將會丟失. 用法:如論壇的在線人數(shù)統(tǒng)計,這種表的數(shù)據(jù)應(yīng)該是無關(guān)緊要的,就幾個簡單的字段,數(shù)據(jù)也不多,記錄數(shù)怎么也不會超過1000吧,但是操作是最頻繁的(基本用戶的每次動作都要更新這個表). 如何創(chuàng)建內(nèi)存表? 創(chuàng)建內(nèi)存表非常的簡單,只需注明 ENGINE= MEMORY 即可: CREATE TABLE `tablename` ( `columnName` varchar(256) NOT NUL) ENGINE=MEMORY DEFAULT CHARSET=latin1 MAX_ROWS=100000000; 注意: 當內(nèi)存表中的數(shù)據(jù)大于max_heap_table_size設(shè)定的容量大小時,mysql會轉(zhuǎn)換超出的數(shù)據(jù)存儲到磁盤上,因此這是性能就大打折扣了,所 以我們還需要根據(jù)我們的實際情況調(diào)整max_heap_table_size,例如在.cnf文件中[mysqld]的下面加入: max_heap_table_size = 2048M 另外在建表語句中還可以通過MAX_ROWS來控制表的記錄數(shù)。 內(nèi)存表使用哈希散列索引把數(shù)據(jù)保存在內(nèi)存中,因此具有極快的速度,適合緩存中小型數(shù)據(jù)庫,但是使用上受到一些限制。 1、heap對所有用戶的連接是可見的,這使得它非常適合做緩存。 2、僅適合使用的場合。heap不允許使用xxxTEXT和xxxBLOB數(shù)據(jù)類型;只允許使用=和<=>操作符來搜索記錄 (不允許<、>、<=或>=);不支持auto_increment;只允許對非空數(shù)據(jù)列進行 索引(not null)。 注:操作符 “<=>” 說明:NULL-safe equal.這個操作符和“=”操作符執(zhí)行相同的比較操作,不過在兩個操作碼均為NULL時,其所得值為1而不為NULL,而當一個操作碼為NULL時,其所得值為0而不為NULL。 3、一旦服務(wù)器重啟,所有heap表數(shù)據(jù)丟失,但是heap表結(jié)構(gòu)仍然存在,因為heap表結(jié)構(gòu)是存放在實際數(shù)據(jù)庫路徑下的,不會自動刪除。重啟之后,heap將被清空,這時候?qū)eap的查詢結(jié)果都是空的。 4、如果heap是復(fù)制的某數(shù)據(jù)表,則復(fù)制之后所有主鍵、索引、自增等格式將不復(fù)存在,需要重新添加主鍵和索引,如果需要的話。 5、對于重啟造成的數(shù)據(jù)丟失,有以下的解決辦法: a、在任何查詢之前,執(zhí)行一次簡單的查詢,判斷heap表是否存在數(shù)據(jù),如果不存在,則把數(shù)據(jù)重新寫入,或者DROP表重新復(fù)制某張表。這需要多做一次查詢。不過可以寫成include文件,在需要用該heap表的頁面隨時調(diào)用,比較方便。 b、對于需要該heap表的頁面,在該頁面第一次且僅在第一次查詢該表時,對數(shù)據(jù)集結(jié)果進行判斷,如果結(jié)果為空,則需要重新寫入數(shù)據(jù)。這樣可以節(jié)省一次查詢。 c、更好的辦法是在mysql每次重新啟動時自動寫入數(shù)據(jù)到heap,但是需要配置服務(wù)器,過程比較復(fù)雜,通用性受到限制。 6、一些預(yù)期可能用到的sql語句 //如果表存在,則刪除 DROP TABLE IF EXISTS `abc`; //復(fù)制整張表xyz為heap表abc(包含所有數(shù)據(jù)) CREATE TABLE ...more »dede 在列表頁和文章頁調(diào)用全站最新文章
2011/09/12 at 14:20 » Comments (452)
dede在首頁調(diào)用全站最新文章是這樣實現(xiàn)的 {dede:arclist titlelen=42 row=6 } <li><a href="[field:arcurl/]">[field:title/]</a> <p>[field:description function='cn_substr(@me,80)'/]...</p> </li> ...more »Smarty模版中,數(shù)組的鍵名是一個變量的值,如何顯示該鍵名對應(yīng)的值
2011/09/08 at 16:45 » Comments (210)
題目有點繞口,大概的意思是 php已經(jīng)賦給模版一個數(shù)組,數(shù)組的信息如下: $config= array( 1=>'中山', 2=>'石岐' ); 數(shù)據(jù)庫存儲地區(qū)的字段記錄的是該數(shù)組的鍵名,如1,現(xiàn)在要在模版上顯示:中山。 如果這樣寫會報錯: {{$config.$row.region}} 模版上的正確的寫法是:{{$config[$row.region]}} 今天遇到的問題還更復(fù)雜一點,數(shù)據(jù)庫字段存儲的是一些配置的序列化,所以在調(diào)取地區(qū)信息時還需要進行反序列化處理,中間必須有一個賦值的過程: {{assign var=param value=$l.params|unserialize}} 然后$param.region就可以取得1這個值了 more »FleaPHP如何定義表關(guān)聯(lián)以及關(guān)聯(lián)的簡寫
2011/09/06 at 18:06 » Comments (312)
定義從屬關(guān)聯(lián) 1、外鍵放置在主表中; 2、保存時不會自動更新關(guān)聯(lián)表的記錄; 3、刪除時也不會更新關(guān)聯(lián)表的記錄。 示例: 多個文章都屬于某一個欄目。 格式一: * class Articles * { * var $belongsTo = array( * array( * ...more »FleaPHP數(shù)據(jù)表關(guān)聯(lián)設(shè)置
2011/09/06 at 16:13 » Comments (365)
目前,F(xiàn)leaPHP支持四種類型的數(shù)據(jù)表關(guān)聯(lián),分別是: HAS_ONE: 當前表的每一條記錄都擁有最多一條(0–1)關(guān)聯(lián)記錄 HAS_MANY: 當前表的每一條記錄都擁有多條(0-n)關(guān)聯(lián)記錄 MANY_TO_MANY: 當前表的每一條記錄都和其他表的多條(0-n)記錄關(guān)聯(lián) BELONGS_TO: 當前表的每一條記錄都屬于另一個表的某條記錄 關(guān)聯(lián)中必須設(shè)置的屬性為: ‘name’, // 關(guān)聯(lián)的名字(如:hasOne、hasMany) ‘tableClass’, ...more »FleaPHP的數(shù)據(jù)庫查詢條件匯總解析
2011/09/06 at 16:10 » Comments (274)
本文將全面分析FleaPHP的數(shù)據(jù)庫查詢條件,包含字符串格式,數(shù)組格式,混合格式,in查詢,or查詢,關(guān)聯(lián)查詢等常用查詢。 FleaPHP的數(shù)據(jù)庫查詢條件$conditions 參數(shù)可以是整數(shù)、字符串和數(shù)組三種類型: 1.如果 $conditions 參數(shù)是一個整數(shù),則假定該整數(shù)為主鍵字段值。 view plaincopy to clipboardprint? // 查詢主鍵字段值為1的記錄 $user = $tableUsers->find(1); 2.如果 $conditions 參數(shù)是一個字符串,則該字符串將直接作為查詢條件,這種方式可以支持最靈活的查詢條件。 例如: view plaincopy to clipboardprint? $conditions = 'id < 3' $user = $tableUsers->find($conditions); //生成的where字句為“WHERE id < 3” 3.1.如果 $conditions 參數(shù)是一個數(shù)組,且指定了鍵名和值,則查詢條件中字段名為鍵名,字段值等于鍵值。例如: // 查詢id字段值為3的記錄 $conditions = array( 'id' ...more »wordpress半角引號變?nèi)堑慕鉀Q方法
2011/09/01 at 09:34 » Comments (17)
解決WordPress半角引號自動轉(zhuǎn)換為全角引號問題有許多種方法,有插件,有修改源碼,有修改主題,下面介紹兩種: 一、通過修改主題functions.php實現(xiàn)(推薦使用): 在主題functions.php文件中加入以下代碼: /*禁用半角引號自動轉(zhuǎn)換為全角引號*/ remove_filter('the_content','wptexturize'); 二、通過修改WP源文件實現(xiàn): 注釋掉 wp-includes\formatting.php文件的下列兩行代碼即可 $curl = str_replace($static_characters, $static_replacements, $curl); $curl = preg_replace($dynamic_characters, $dynamic_replacements, $curl); more »dede采集的文章在欄目列表頁無法顯示
2011/08/26 at 23:20 » Comments (412)
利用dedecms的采集功能,大批量采集數(shù)據(jù)之后,沒辦法一個一個審核,所有在sql命令行運行了 update `dede_archives` set `arcrank` = 0 批量審核文章,然后運行 update `dede_archives` set `ismake` = -1 把所有文章改成動態(tài)瀏覽 更新首頁html之后再最新更新可以看到新發(fā)布的文章,但是在欄目列表頁不顯示最新的數(shù)據(jù),原來dede還有一個文章的索引表dede_arctiny,只要運行下面sql把審核狀態(tài)置為0就正常了 update `dede_arctiny` set `arcrank` = 0 效果如 最優(yōu)資訊中山新聞頻道 more »