星期四, 七月 29, 2010

StreetSide : 微軟的街景服務

除了 google 有提供地圖的服務之外,微軟的 Bing,com 也有提供一個叫做 Bing Map 的地圖服務,不過,還沒有提供給台灣使用,所以,只能用英文版的才看的到,而且,阿舍好奇的輸入中文來找地圖,結果,好像只有縣市可以用中文找的到,路名就不行了,大概就是因為這樣,才還沒在台灣推這個 Bing Map 吧 !

最近微軟將會在 Bing Map 上提供一個叫做 Street Side 的服務,其實,就是和 Google Map 街景一樣的功能,不過,在操作上有一點不太一樣,有興趣的話可以看一下這裡和這的影片,看起來還有趣的,只是,不知什麼時候台灣才會有 Bing Map 和 StreetSide 可以玩玩哩 !!

星期六, 七月 24, 2010

Ubuntu 如何手動安裝( 從原始檔編譯 ) PHP 的 Suhosin 擴充 ?

阿舍自己編譯了 PHP 的程式碼,後來就想到還要加入 Suhosin 的擴充,應該會比較安全的,於是就直接去下載了 Suhosin 的 Patch 來,因為阿舍以為是要去 Patch PHP 的原始碼之後,再重新編譯一次 PHP 的哩 ! 還好,後來有再瞄一下 Suhosin 網站的安裝 FAQ,才發現,原來可以不用這麻煩來的,可以直接編譯 Suhosin 就可以了,不需要再連 PHP 一起重編起的哩 !

所以,安裝的方式就是從這裡來下載 Suhosin 的原始程式碼 ( 要注意一下,是下載 Suhosin Extension 的版本,而不是 Suhosin Patch 的版本 ) , 然後用下面的指令把它解壓縮 ( 阿舍下載時的版本是 0.9.32.1 版 ) 。

tar -xzvf suhosin-0.9.32.1.tar.gz

接著,依著下列順序執行下指令一步一步的來完成編譯和安裝的動作。

cd suhosin-0.9.32.1.tar.gz
phpize
./configure
sudo make
sudo make install

上動作跑完之後會把 suhosin.so 個檔案產生在 PHP 的 extensions 資料夾裡, 阿舍自己編好的 PHP 是安裝在 /usr/local/lib/php 裡,而
extensions 資料夾就是在 /usr/local/lib/php/extensions,不過, suhosin.so 會放在 /usr/local/lib/php/extensions/no-debug-non-zts-20060613 裡,就是 extensions 資料夾的下一層裡。

再來就是要改 PHP.ini 的設定了,打開 PHP.ini 之後先找到 extension_dir 這項設定,然後把上面找到 suhosin.so 的資料夾路徑指給 extension_dir 這項設定,以阿舍為例,就是

extension_dir = "/usr/local/lib/php/extensions/no-debug-non-zts-20060613"

最後,找到 PHP.ini 裡的 extension 的區段,加,如下面這一行,然後,存檔,這樣, PHP 的 Suhosin 擴充就算安裝完成了....。

extension=suhosin.so

Ubuntu 如何編譯 ( Compile ) PHP 支援 MySQL PDO ?

PHP 的 PDO 是 PHP5.x 之後的一個重要功能,所以, 怎可以不把給它啟用哩 ! 再加上阿舍用的 Drupal 的下一個版本 Drupal 7 就支援 PDO 了,更因為這樣,阿舍就非啟用這個 PDO 不行,啟用這個 MySQL PDO 的方法就是在設定 ./configure 的時候加入 PDO 參數,分別是 --enable-pdo 和 --with-pdo-mysql,和啟用 mysqli 一樣的,這兩個參數都需要指定資料夾,第一個 --enable-pdo 在後面要加入 mysql 所在的地方,以 Ubuntu 來說,會是在 /usr/bin 裡,而第二個 --with-pdo-mysql 則是要指出 mysql_config 的位置, Ubuntu 在安裝 MySQL 之後,會把放到 /usr/bin,不過這個第二個 --with-pdo-mysql 參數是要指出完整路徑和檔案的,所以,就會是 /usr/bin/mysql_config,以下就是阿舍整整的指令:

./configure --enable-fastcgi --enable-fpm --with-mcrypt --with-zlib --enable-mbstring --with-openssl --with-gd --with-mysql=/usr/bin --with-mysql-sock=/var/run/mysqld/mysqld.sock --with-mysqli=/usr/bin/mysql_config --with-pdo-mysql=mysqlnd --with-mcrypt --with-zlib --enable-pdo=/usr/bin --with-pdo-mysql=/usr/bin/mysql_config

工商服務