- 從 PECL :: Package :: sphinx 下載的原始碼,還無法直接編譯,從 config.w32 看來還需要 libsphinxclient.lib 和 sphinxclient.h。
- 雖然從 Sphinx 中 (在原始碼的 api\libsphinxclient 目錄裡) 自行編譯了 libsphinxclient.lib ,但還是派不上用場。
- 後來是修改了 config.w32 ,把這行:
EXTENSION("sphinx", "sphinx.c");
改寫成EXTENSION("sphinx", "sphinx.c sphinxclient.c");
加在一起編譯才成功的。 - Sphinx PHP Extension
似乎沒辨法編成獨立的 DLL 檔。將上述那行加上第三個參數為 true 就行了:EXTENSION("sphinx", "sphinx.c sphinxclient.c", true);
- Sphinx 原始碼也有提供 PHP 腳本版本的 API (api/sphinxapi.php) ,直接 include 即可。
歡迎來到小豬圈!
2009-07-26
在 Windows 下編譯 Sphinx PHP 擴充模組
2009-07-25
Sphinx 全文檢索引擎
- Sphinx 0.9.8.1 加上 MySQL 5.1 在建立索引時會出現 column number 1 has no name 的錯誤訊息,改用目前最新 Sphinx 0.9.9 就行了。
- 安裝成 Windows Service 時要明確指定 sphinx.conf 的路徑:
searchd.exe --install --config C:\sphinx\sphinx.conf --servicename SphinxSearch
不然會無法啟動並出現 service terminated unexpectedly 錯誤訊息。 - 另外也要記得建立 log 、 query_log 、 pid_file 所指定的目錄。
- 下載 Sphinx 並壓縮至 C:\sphinx
- 依 sphinx.conf.in 或 sphinx-min.conf.in 編輯設定檔,並另存為 sphinx.conf 。
- 將工作目錄移至 cd \sphinx\bin
- 安裝成 Windows Services
searchd.exe --install --config C:\sphinx\sphinx.conf --servicename SphinxSearch
- 建立索引
indexer.exe --config C:\sphinx\sphinx.conf --all
- 測試搜尋,假設搜尋目標為 target-word
search.exe --config C:\sphinx\sphinx.conf --any target-word
- 若要移除 Windows Services
searchd.exe --delete --servicename SphinxSearch
2009-07-24
在 Windows 上自行編譯 PHP
- 自行編譯 PHP 比想像中簡單多了,PHP wiki 已經整理的很完善。文末的編譯步驟是從 PHP 文件 (PHP: Building from source - Manual) 提供簡易指南中,依我個人情況修改而來。
- 比較麻煩的地方是要收集 Library 與 Header 檔,像 Apache httpd 得選自訂安裝才有附那些檔案。「PHP: internals:windows:libs [PHP Wiki]」這裡整理了大部份的檔案。
- 我初次編譯使用的是 Windows SDK for Windows Server 2008 and .NET Framework 3.5 ,在執行 nmake 時出現下列錯誤訊息
"" -h win32\ -r ..\Release_TS\ -x ..\Release_TS\ win32\build\wsyslog.mc '-h' is not recognized as an internal or external command, operable program or batch file.
查看 Makefile 發現是少了 MC - Message Compiler (MC.exe) 這個東東,“mc.exe is missing in the Visual Studio 2008 Express SDK | Microsoft Connect”這篇指出似乎是該版本的 Windows SDK 沒附的關係。 - browscap.c 出現幾個 § (section sign) 符號造成編譯中斷,用 Firefox 瀏覽後轉存即可(我遇到?字元的問題都是這樣解決的)。
- 下載並安裝 VC ,Microsoft Visual C++ 2008 Express Edition
- 下載並安裝 Windows SDK ,Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1: RC
- 複製 C:\Program Files\Microsoft SDKs\Windows\v7.0\Include\WinResrc.h 並更名為 winres.h 到同一目錄下。舊的文件有這條項目,似乎是用來解決某些問題,但我並沒有遇到就是了。
- 建立一個工作目錄,這裡以 C:\php-sdk 為例。
- 下載 PHP 原始碼並解壓縮至 C:\php-sdk ,這裡以 php-5.3.0 為例。
- 下載 http://pecl2.php.net/downloads/php-windows-builds/php-libs/binary-tools.zip 並解壓縮至 C:\php-sdk 。
- 依預設的搜尋路徑 (參見原始碼中 php-5.3.0\win32\build\config.w32 第 227 行,也可以自訂 --with-php-build=..\deps) 建立一個存放相關檔案的目錄 C:\php-sdk\deps 。並至 http://wiki.php.net/internals/windows/libs 下載所需檔案解壓至該目錄。
- 從開始功能表裡執行 Windows SDK - CMD Shell ,並輸入下列指令。
- SetEnv.cmd /x86 /xp /release 設定編譯模式。
- SET PATH=%PATH%;C:\php-sdk\bin;
- cd \php-sdk\php-5.3.0 (接下來的指令必須在 PHP 原始碼的根目錄下執行)
- cscript.exe /nologo win32\build\buildconf.js
- cscript.exe /nologo configure.js --help (非必要,查看可用參數)
- cscript.exe /nologo configure.js --enable-object-out-dir=.. --disable-all (這裡參數依需求而有所不同)。
- nmake (開始編譯,需要一段時間)。
- 最終的目錄結構會類似下列這樣:
+-C:\php-sdk | +-bin | | --bison.exe | | --bison.simple | | --... | +-deps | | +-bin | | +-include | | --httpd.h (來自 Apache httpd) | | --... | | +-lib | | --libiconv.lib (來自 GNU libiconv) | | --libxml2.lib | | --... | +-php-5.3.0 (PHP 原始碼) | | +-build | | +-win32 | | +-... | +-Release_TS (輸出編譯結果的目錄) | | +-...
- nmake install (安裝編譯的結果,預設安裝至 C:\php5)。
2009-07-15
2009-07-07
The Sims 3 意外的好玩
- 因為遊戲主題並不合我胃口的關系,我並沒有玩過前面兩代,沒想到三代一玩就停不下來。不過大部份時間都在蓋房子就是了。
- 官方的人物模組做不出日式虛擬人物的風格(瓜子臉)。
- 遊戲操縱的角色在以家庭為單位,意指一個家有多少小人,你就要控制多少小人。雖然一次控制一個小人是有點少,但一次兩個(或以上)就有點麻煩了。
- 很多飾品真是只是裝飾用的,能多一點可互動的物件會更好。
- 上下班的共乘車不能取消,也不能設定成慢跑或開車。
- 目前東西還不算多,期待資料片的發行。
- 我對遊戲的評價分級:
- 好玩:玩完一遍會想繼續再玩的,就像 The Sims 3 和前陣子的 Fallout 3。
- 普通:玩過一遍就好,像是“Tom Clancy's H.A.W.X”
- 不好玩:連一遍都玩不下去,最近的例子是“Tom Clancy's End War”和“King's Bounty: The Legend”。
- 這遊戲某方面來說真實的令人感到恐怖,即便創立的角色都與我本人迥異,但還是常有在過現實生活的錯覺…
Subscribe to:
Posts (Atom)
個人常用鏈結
Labels
- .NET (1)
- Accessibility (3)
- ADSL (1)
- Apache (9)
- ASP.NET (1)
- Babyer (1)
- Browser (1)
- Canon MX700 (1)
- CAPTCHA (1)
- CentOS (1)
- CSS (7)
- DB:SQL (1)
- DB:SQLite (2)
- DNS (3)
- English (1)
- EXIF (1)
- filename.ext (1)
- Firefox (4)
- Firewall (1)
- Flash (4)
- Game 遊戲 (28)
- Game:PC (6)
- Game:PS3 (4)
- Game:Xbox360 (3)
- GNU (1)
- Google (6)
- Google:Android (8)
- Google:Blogger (2)
- Google:Chrome (1)
- Google:Code (2)
- GoogleAppEngine (2)
- GoogleMaps (1)
- GPG (1)
- Hinet (1)
- HTML (2)
- HTTP (1)
- i18n (1)
- IE (3)
- Java (2)
- Javascript (2)
- Linux (1)
- Microsoft (2)
- MIME (1)
- MySQL (7)
- NexusOne (2)
- OAuth (1)
- Open source 開放原始碼 (1)
- OpenID (1)
- OS (1)
- OS:Windows (33)
- PHP (49)
- PHP:GTK (2)
- PHP:PEAR (1)
- PHP:PECL (3)
- PHP:ZendFramework (4)
- PostgreSQL (1)
- PPPoE (1)
- RegularExpressions (2)
- Security (11)
- Sphinx (2)
- SQLite (1)
- TCP (1)
- Ubuntu (1)
- UDP (1)
- Usability (2)
- Virtaul PC (1)
- Wii (2)
- XML (1)
- Yahoo (2)
- Yahoo:BBAuth (1)
- Yahoo:YUI (1)
- Youtube (1)
- 不如賣雞排 (2)
- 不願役 (33)
- 中文處理 (1)
- 圖 (5)
- 媒體 (2)
- 影片 (1)
- 影音 (19)
- 思 (8)
- 攝 (9)
- 政 (7)
- 敗 (2)
- 漫畫 (5)
- 生活 (34)
- 硬體設備 (13)
- 網站開發 (16)
- 網路 (8)
- 英文 (3)
- 貓 (2)
- 資安 (1)
- 趣 (29)
- 軟體 (12)
- 遊記 (8)
- 運動 (2)
- 關於我 (1)
- 電影 (10)