pCloud Partner Program

eAccelerator安裝好囉

程式技術/PHP 2007/05/10 16:12
views: 165134 times
久聞 eAccelerator 大名, 今天同事在一台 BSD 的環境下安裝好 php 的 eAccelerator 的組件, 據說可以大幅提昇 php 效能, 可想見, 將 php build 好的 binary code cache 在目錄下, 應該對於 php 的效能有顯著提昇沒錯, 於是就開始著手安裝 eAccelerator 囉...

我是參考了這篇文章, http://www.tiec.tp.edu.tw/lifetype/post/102/5552, 感謝原作者用心說明, 接下來進行安裝, 由於我的環境是 appserv, 所以要先到 http://www.arnot.info/eaccelerator/ 找對應版本的 eAccelerator dll 版本, 下載後, copy 至 php 的 extension 目錄下, 並進行 php.ini 的調整(特別注意是eaccelerator.cache_dir 參數, 記得要先開好目錄, 這樣 eAccelerator 才能將 build 好的 binary code 存放在該位置), 完成後就直接重起 apache 即可, 接下來利用 phpinfo 來 check 一下(或利用指令 php -v 來觀察), 畫面中出現如下的 eAccelerator 字眼就代表安裝成功囉:

用戶插入圖片

接下來就 check 看網頁工作是否正常, 原則上第一次會進行 build binary 的動作並存在指定的目錄下, 會稍微慢一點點, 但第二次之後, 就會跑得飛快, 相信你會滿意地.

more..

top

php中改變ini設置方法

程式技術/PHP 2006/12/11 00:18
views: 136926 times
在 php 中, 有時需要調整 ini 內的設定值, 以獲得某些特性, 例如將 display_errors 參數設置為 Off 時, 做為錯誤資訊隱藏, 但是在寫作或除錯程式時, 希望能將此參數設置為 On, 設置完成後又要重起 apache, 這樣不僅不方便, 又會影響服務, 此時使用 ini_set() 函數將會是最方便有效的方式.

string ini_set ( string varname, string newvalue )
函數用法: http://tw2.php.net/manual/tw/function.ini-set.php

利用 ini_set 可以將 ini 的參數於設置時更動, 並於該 php 結束時復原, 若需要提早復原, 可以利用 ini_restore ( string varname ) 進行參數復原操作.

如此一來, 便能方便快速地在某些程式裡進行參數調整又不影響其他程式運行, 將能有效方便維護及應用. 後面為一個範例:

http://sample.diary.tw/6/ini.php

另外值得注意的是, 此參數可用 On, on, 1 代表開啟, 利用 Off, off, 0 代表關閉!

參考資料:
http://blog.chweng.idv.tw/archives/413/

top

在php中的UTF-8字元斷字方式

程式技術/PHP 2006/10/22 03:55
views: 161219 times
在 PHP 中, 若是有中文字時, 使用 substr() 函數時, 會發生斷字的問題. 如何解決呢? 我們可以利用 mb_ 開頭的系列函數來操作我們需要的行為, 例如取出左五碼, 可以這麼下:

   $str = "中文字及english測試";
   echo mb_substr($str, 0, 5, 'UTF-8');

這樣會顯示 "中文字及e" 這樣五個字出來.

另外一個重點在於該組函數後面加入的 encodeing 是關鍵, 若是 UTF-8, 可以用 UTF-8 或 UTF8 皆可以正常使用, 還有較常用的兩個函數: mb_strlen 及 mb_strwidth, 前者是用來取得字元個數, 後者則是取得寬度, 後者目地主要在於排版顯示用途, 因為寬字元會計算為 2, 如此一來便能有效地算出參考寬度.

以下為參考程式碼:
http://sample.diary.tw/4/php.php


top

最近HEMiDEMi有點慢

程式技術/PHP 2006/10/04 01:23
views: 132388 times
由於在右側有引用了 HEMiDEMi 的最近書籤, 但因為在網路尖峰時間, HEMiDEMi 有點慢, 也會造成本網頁的負擔, 於是乾脆自行寫個快取機制來解決這個問題.

做法很單純, 我實作了一支小程式, 利用 php 去取得原來 javascript 內的網址內容:
http://www.hemidemi.com/digest/user/timhuang/bookmark/recent
再來就是存在本地檔, 利用了 filemtime 來取出檔案的修改時間, 並與現在時間比對, 若久於一定的時間(目前訂為 1200秒), 就重新再取, 否則就直接用快取檔案的內容, 如此一來便能大幅加速這個在尖峰時間的 javascript 下載慢速的問題.

more..





top

404 HANDLER

系統技術 2006/08/18 23:55
views: 194220 times
瀏覽器遇到web server回應的status code 404相信大家都不陌生, 無論是IIS或是APACHE都一樣, 只要是找不到這個檔案, 就是回應 404 給client囉.

如何handle web的回應, 除了是要有更 friendly 的回應外, 對於網站管理員來說, 更希望獲得哪些檔案是 user 要, 但是 web 上沒有的. 還記得之前有篇網路轉寄的內容, 有個 web server 的404回應網頁很有趣, 自怨自艾半天, 讓人會心一笑, 這就是友善回應的一種應用. 但能將 404用程式做某種方式記錄或是通知方便管理員處理, 相信也是在某些應用下的重要功能(當然要依實際狀況來用, 因為實務上發生404的機會並不低).

more..


top

php error handling

程式技術/PHP 2006/07/25 00:46
views: 104836 times
今天來研究一下 php 的 error handling, 一般的程式錯誤, 很重要的一件事就是錯誤處理, php 當然也不例外. php 本身對於錯誤處理已有一套完整的設計, 讓程式設計人員可以很容易地進行錯誤處理.

我們可以參考內建 function 進行 error handler 設置, 這個 function 為 :
mixed set_error_handler ( callback error_handler [, int error_types] )

該 function 傳入的 callback function即為我們要使用的 error handling function, 該 function 定義如下:
handler ( int errno, string errstr [, string errfile [, int errline [, array errcontext]]] )

more..


top

TT時間不對

程式技術/TatterTools 2006/06/10 03:03
views: 64455 times
其實發現tt時間不對也不是現在才發現, 只是一直沒去查問題, 在沒有追蹤code的狀況下, 想說先看看別人架tt內文章的時間對不對來確認一下, 先到朋友 "偉的1978部落格" 看一下, 結果原本想先貼一篇comment後再看時間, 想說不要找最新的文章貼, 隨手點一篇舊文章, 說來還真巧, 隨便一點, 就點到他也發現時間不對的這篇文章, 文章連結: http://jin.tw/jin/288 還真不是普通巧, 莫非是天意...

不過看了朋友的解決方法, 很直接也很乾脆, 就是不要看 OS 的變數, 這也 OK, 但我還是想找原因, 怎麼會 $_ENV['OS'] 變數會沒有值呢? 先用 phpinfo() 測一下, 確定有值後, 再測其他的 environment variables, 結果都沒有值, @@"

所以就想找找原因, 找了老半天, 終於找到了, 原來在 php 裡預設的 variables_order = "GPCS" 也就是 $_GET, $_POST, $_COOKIE, $_SERVER 都是有的, 但 $_ENV 就是預設沒有, 是 performance 考量, 所以沒有 enable $_ENV, 建議用 getenv() 方式來取得環境變數, 接下來就是兩條路可以走, 一為將 variables_order = "GPCSE" , 另一就是將 tt 的 code 由 $_ENV['OS'] 修改為 getenv('OS') 這樣就好了, 還好存在 db 的時間資料都是對的, 就是時區問題而已啦....

top




Patriot美商博帝 BURST 960G 2.5吋 SSD固態硬碟
TEAM十銓 L5 Lite 3D 1TB 2.5吋 SSD固態硬碟
統一 番茄汁(6入/組)
UNITEK TYPE-C 轉VGA/HDMI/PD充電/HUB 鋁合金多功能轉接器
亞果元素 CASA Hub VH1 Type-C 轉 VGA - HDMI二合一顯示轉接器
realme XT (8G/128G) 6.4吋6400萬畫素 四鏡頭鷹眼猛獸


 Waiting...