兩個禮拜前,我就想為量測增加一個跟記憶體使用量的功能,但是這個功能需要使用到 memory_get_usage 這個函數,而這個函數需要在編譯時指定 --enable-memory-limit 參數才能用,故我自己試試看編譯 PHP。

我看了官方網站的文件,到微軟下載相關檔案,不過我沒有 VC++ 6.0,所以我拿 VC++ 2005 Express 來實驗。
網路上我找到這篇文章,文章很長但解釋的蠻清楚,可惜的是我做到最後一步,碰到 VC++ Runtime 的問題,就過不去了,執行後總會出問題。

這次實驗花了太多時間(有一半以上的時間我跑去搞Visual Studio 2005 Express SP1 DVD Pack (偽)),所以我決定停止,一方面是時間不允許,另一方面我實在覺得編譯的過程非常的繁瑣,我不曉得下次 PHP 新版出來時會不會支援其他的編譯方式,短時間內我是不會在進行實驗了。

至於 memory_get_usage 的議題,我會參考已有的替代方案,將期功能加入新版的量測中。
創作者介紹

失落的技術

HACGIS 發表在 痞客邦 PIXNET 留言(3) 人氣()


留言列表 (3)

發表留言
  • 遊手好閒的石頭成
  • 試試 Cygwin ,裡面的工具會比 VS 2005 express 的親近。

    但在 windows 環境下編譯 PHP 是一件很麻煩的事,例如要備齊很多 extension 需要的 header file 。這只是 complie 階段,執行時還要備齊 dll 。即便你用 Cygwin ,也不見得會成功。

    嗯,現在虛擬化當道。不然裝個虛擬機器載入 linux/freebsd ,在虛擬機器下量測吧。我個人覺得這樣反而有意義。因為我可以把虛擬機器的硬體資源設定在一個苛刻環境 (例如只分配32mb 實體記憶體) ,這樣量測記憶體使用量就非常有意義了。
  • HACGIS
  • 不過官方網站上沒提到如何在 Windows 下用 Cygwin 來編,還是我應該看 Linux 編譯的那篇?
    我自己是有用個虛擬機器去編過,速度實在有夠慢~
    目前先用官方釋出版檔一陣子,等真的非要自行編譯不可實在去動虛擬機器的腦筋。
  • 遊手好閒的石頭成
  • Cygwin 基本上是一個 GNU *nix 平台模擬環境 + GCC 。所以你該看 Linux 編譯那篇,可以用 configure 工具自動偵測編譯組態。

    嗯, Windows 平台下的虛擬機器實在很吃資源。

找更多相關文章與討論