20111029

LAMP, MSSQL, FreeTDS Setting

LAMP, MSSQL, FreeTDS Setting,
LAMP, MSSQL, FreeTDS 設定,

If you want to to connect to MSSQL by PHP, you need to install FreeTDS
如果你要用 PHP 要連接 MSSQL 的話需要安裝 FreeTDS

Basically, refer to the below link, and I take note in environment for self-compiled.
基本上以下內容參考下列網址, 另外有針對自行編譯的環境作說明
http://www.php.net/manual/en/mssql.setup.php

1. wget ftp://ftp.ibiblio.org/pub/Linux/ALPHA/freetds/stable/freetds-stable.tgz
## To get FreeTDS package
## 取得 FreeTDS 安裝套件
## Actually suggests to the official website to download
## 實際上建議到官網去下載

2. uncompress the downloaded file and cd to sources folder
解壓縮已下載的檔案並且進入解壓縮的來源程式碼資料匣

3. ./configure --enable-msdblib --prefix=/usr/local/freetds
4. make
5. make install

## copy some supplementary files
## 複製一些支援用的檔案

6. cp include/tds.h /usr/local/freetds/include
7. cp src/tds/.libs/libtds.a /usr/local/freetds/lib

8. get php devel sources if you don't have it and install it, get php sourcers files, uncompress it, chdir to the source folder,
如果你的 php 是系統自動安裝的套件的話需要另外再安裝 php-devel, 如果是 php source tar ball 的話, 解壓縮檔案後進入接壓縮的目錄,

9. chdir ext/mssql
10. phpize

## To pay attention to the php installation path, /[the php installation path]/bin/phpize,
## 要注意安裝 php 路徑, /[php安裝路徑]/bin/phpize,

11. ./configure --with-mssql=/usr/local/freetds

## If can not find php-config, set the parameter '--with-php-config=PATH'.
## If the parameter is useless, then excute the command 'PATH="$PATH":/[the php installation path]/bin' to fix the issue.
## 如果找不到 php-config, 設定 --with-php-config=PATH 參數
## 如果參數沒有用的話就要執行 PATH="$PATH":/[php安裝路徑]/bin, 執行之後就不用 --with-php-config=PATH 的參數

12. make
13. cp modules/mssql.so php-extension-path, or make install

## make install is easier.
## make install 比較簡單

14. echo "/usr/local/freetds/lib" >> /etc/ld.so.conf
15. echo "export FREETDSCONF=/usr/local/freetds/etc/freetds.conf" >> /etc/profile

## add the following setting in extension section in php.ini
## 在 php.ini 裡面的延伸原件設定裡加入下列的設定
16. extension=mssql.so

17. add in httpd.conf right above "Include /etc/httpd/mod_php.conf"
在 httpd.conf 裡面加入這一個設定 "Include /etc/httpd/mod_php.conf",

## If you can not find the file named 'mod_php.conf', then you just add the following two lines in the httpd.conf.
## 如果你找不到這個檔案 [mod_php.conf], 你只要加下列兩行到 httpd.conf 裡

LoadModule php5_module libexec/apache/libphp5.so
AddType application/x-httpd-php .php

18. set you server connection in /usr/local/freetds/etc/freetds.conf
在 /usr/local/freetds/etc/freetds.conf 設定你的 MSSQL server 連線

19. setenv FREETDSCONF /usr/local/freetds/etc/freetds.conf
20. export FREETDSCONF=/usr/local/freetds/etc/freetds.conf
## If you have no command named setenv, then you just use the command named export.
## 19 with the 20 is actually the same thing.
## They are to set a system environment variable called FREETDSCONF with the corresponding value.
## In fact, I make 20, because I do not have this with the shell command, so should be alternatively.
## 如果你沒有指令 setenv, 你就用 export.
## 19 跟 20 實際上是一樣的事情, 就是設定一個系統環境變數叫做 FREETDSCONF 跟相對應的值,
## 實際上我是作 20, 因為我用的 shell 沒有這個指令, 應該是二選一

## Warning!!! For test w/o reboot server,
## 注意!!! 測試不需要重新開機,

21. restart apache
重新啟動 apache
22. verify mssql enabled with phpinfo()
用 phpinfo() 驗證 mssql 連接已經啟動
23. run your test script.
執行你的測試程式
24. other fine tunnigs and settings
其他的調整跟最佳化

## Warning!!!
pls. keep in mind:
- your ms SQL must be setup with socket listing ;)
- check windows box firewall to accept TCP 1433 connection.

## 注意!!!
請注意下列事項:
你的 MSSQL 一定要設定成接受網路連線
確認你的 windows 防火牆的 TCP 1433 埠接受連線

以上文章感謝拿鐵夏的指導

20111003

我的阿喵不見了, 嗚嗚嗚

我的阿喵不見了, 嗚嗚嗚,

從 9/30 17:00 左右吃完飼料之後就沒回家了,
剛好因為脖子有潰瘍的狀況所以沒有帶頸圈, 讓我很擔心...

請台中市大雅區附近有看到阿喵的朋友可以打電話給我,
我的行動電話是 0989-907695,
謝謝大家的關心

晶片號碼:999000001384211
寵物名:阿喵
寵物別:貓
性別:母
品種:混種貓
毛色:白
外觀:短毛
特徵:脖子有皮膚病
遺失時間:民國100年10月01日
遺失地點:台中市大雅區忠義里月祥路361巷


以下是阿喵的生活寫真, 我的flckr 相簿

google spreadsheets 計算時間的方式

這邊是倒敘的方式,
D3=(hour(C3)-hour(B3))*60+minute(C3)-minute(B3)
可以在試算表當中計算出兩個時間間隔幾分鐘,
其中 B3 是開始時間, C3 是結束時間, D3 為兩個時間相差幾分鐘,
hour(C3) 是取得 C3 的小時數字, minute(C3) 是取得 C3 的分鐘數字,
hour(C3)-hour(B3) 之後乘以 60 就會取得小時換成分鐘的差,
然後再加上 minute(C3)-minute(B3) 兩個時間的分鐘差就可以取得兩個時間間隔幾分鐘,
接著 D1=2000-SUM(D3:D33)
D1 等於 2000 減掉 D3 到 D33 的總和,
那 2000 是甚麼意思??

2000 就是某系統商的熱線 2000 分鐘服務啦, 剩下的就不明講了 XD
當然不要打滿 2000 分鐘, 留一點誤差值緩衝會比較好 XD