好吧,感覺又是一篇很聳動的標題,其實只是一些小應用,程式在出版的時候總是喜歡給個版號方便做區別,大部分會採用1.0.xx之類的寫法,最前面的1是程式架構有大變動的時候增加,0大概是有小改版時增加,而xx通常都會是svn的版號,因為這可能是最小幅度的更動,svn有自動把某個關鍵字取代為特定字串的功能,例如:更新日期、版號等。今天要交的就是利用svn自動打版號功能,讓php產生出漂亮的版號。
2011年1月28日 星期五
2011年1月27日 星期四
計算php運算時間ms等級
想要計算一個php頁面運算到底要多久可以在程式一開始時呼叫time function,運算結束後再呼叫一次,計算2次的時間差,不過time的等級只到秒,如果算的東西很少,可能得到的結果為0秒
下面程式可以計算頁面運算速度到ms等級
下面程式可以計算頁面運算速度到ms等級
2011年1月19日 星期三
免架svn server的svn server
有在寫程式的人一定會用版本控制軟體來控制自己的程式碼,如果沒有,那代表你不會寫程式。
版本控制軟體很多,但最常用的應該就是subversion這一套,或者是TortoiseSVN,不過TortoiseSVN核心也是subversion。
但是如果開發者有不只一台電腦,或者是多人共同開發,需要在不同電腦維護同一份code的話,就需要一台svn server來同步所有電腦的code,網路上雖然有人提供免費的svn server,不過都是要$,不然就是要求open source (google code),當然你也可以自己架設svn server,不過缺點就是你要有一台server,而且你還要搞清楚怎麼架設svn server
版本控制軟體很多,但最常用的應該就是subversion這一套,或者是TortoiseSVN,不過TortoiseSVN核心也是subversion。
但是如果開發者有不只一台電腦,或者是多人共同開發,需要在不同電腦維護同一份code的話,就需要一台svn server來同步所有電腦的code,網路上雖然有人提供免費的svn server,不過都是要$,不然就是要求open source (google code),當然你也可以自己架設svn server,不過缺點就是你要有一台server,而且你還要搞清楚怎麼架設svn server
PHP Fatal error: Out of memory 解決方式!!
標題好像下的很聳動 XD
今天在聊天的時候遇到有人跟我聊到他的程式會跑出Out of memory的狀況,明明記憶體已經給很大了,還是會這樣。
我之前也常遇到這個狀況,後來發現是轉換文字編碼的function作怪,只要有用到iconv, mb_xxx,這類的文字編碼function就要小心了,因為這類function非常吃記憶體,我之前估算記憶體用量約為被轉換資料的10倍左右,也就是如果你轉1m的資料,他要跟你要10m的記憶體,如果轉10m他就要100m的記憶體,一般人開給apache的記憶體用量通常不會這麼大,這時就會出錯拉~~~
今天在聊天的時候遇到有人跟我聊到他的程式會跑出Out of memory的狀況,明明記憶體已經給很大了,還是會這樣。
我之前也常遇到這個狀況,後來發現是轉換文字編碼的function作怪,只要有用到iconv, mb_xxx,這類的文字編碼function就要小心了,因為這類function非常吃記憶體,我之前估算記憶體用量約為被轉換資料的10倍左右,也就是如果你轉1m的資料,他要跟你要10m的記憶體,如果轉10m他就要100m的記憶體,一般人開給apache的記憶體用量通常不會這麼大,這時就會出錯拉~~~
PHP CLI模式下變數取得方式
什麼是CLI,全名是Command Line Interface,再不懂請自己google。
php不知道多少後開始支援這個,那也不是重點,反正這篇要教的是如何在CLI模式下拿到變數,答案就是使用$argv變數。
在下command line的時候如果是這樣下的
php不知道多少後開始支援這個,那也不是重點,反正這篇要教的是如何在CLI模式下拿到變數,答案就是使用$argv變數。
在下command line的時候如果是這樣下的
php test.php aa bb cc
2011年1月12日 星期三
在php中使用root權限執行command line指令
php提供了3個function 分別是 system, exec, passthru讓我們可以直接對系統下command指令,這3個function有什麼差別請自己google。
通常php在執行command line指令的時候是取決於apache的權限,所以理論上只要提高apache的權限,就可以了,不過這只是理論上= =",實作的時候不知道為什麼,還是會有權限不足的狀況,明明可以讀寫檔案了,但是要執行某個程式去控制這些檔案的時候還是會出錯,google了很久,找到3種解法。
通常php在執行command line指令的時候是取決於apache的權限,所以理論上只要提高apache的權限,就可以了,不過這只是理論上= =",實作的時候不知道為什麼,還是會有權限不足的狀況,明明可以讀寫檔案了,但是要執行某個程式去控制這些檔案的時候還是會出錯,google了很久,找到3種解法。
2011年1月5日 星期三
php function 隱藏參數寫法
我也不知道這東西正式名稱叫什麼XD
反正就是讓你寫的function可以不必每次帶一堆用不到的參數
正常的function寫法是這樣
反正就是讓你寫的function可以不必每次帶一堆用不到的參數
正常的function寫法是這樣
function test($a,$b,$c){
//do something
}
2011年1月4日 星期二
.reg檔的寫法
最近再弄某個迷之物,要動到reg檔,每次手動修改很麻煩,所以就想說寫個.reg檔來幫我搞定
google了一下.reg檔的寫法
1.第一行要為
路徑用[ ] 圈起來,例如
google了一下.reg檔的寫法
1.第一行要為
Windows Registry Editor Version 5.002.第二行開始為reg檔案內容
路徑用[ ] 圈起來,例如
[HKEY_CURRENT_USER\Software]3.如果要刪除某個機碼資料夾,再[後面加個-即可,例如
[-HKEY_CURRENT_USER\Software\Test]4.刪除某個值,要先輸入路徑,然後給值一個-即可,例如
[HKEY_CURRENT_USER\Software\Test]
"TestValue"=-
2011年1月2日 星期日
解決mysql出現Got a packet bigger than 'max_allowed_packet' bytes錯誤的問題
今天在做資料庫還原的時候出現了這個錯誤
ERROR 1153 Got a packet bigger than 'max_allowed_packet' bytes
google了一下之後發現是因為mysql允許的單次最大輸入容量有上限,到mysql裡面修改max_allowed_packet=XXX這個值,把它改大一點就好摟~~~
ERROR 1153 Got a packet bigger than 'max_allowed_packet' bytes
google了一下之後發現是因為mysql允許的單次最大輸入容量有上限,到mysql裡面修改max_allowed_packet=XXX這個值,把它改大一點就好摟~~~
訂閱:
文章 (Atom)