openfiler 2.99 Howto install xdebug for php

要如何在 Openfiler 上安裝 xdebug 來替 php 除錯呢?那就繼續往下看吧!

因為 openfiler 2.99 一開始的 m4 版本比較舊,無法用來安裝編譯xdebug模組。

所以只要使用 pecl install xdebug 開始編譯模組,就會出現下面的錯誤訊息:
/usr/bin/m4: unrecognized option ‘–gnu’

此外 openfiler 2.99 的PHP’s PEAR也有問題,問題出於「corrupted channel files」。

When trying to install something, you will get the error:

pear.php.net is using a unsupported protocal – This should never happen. install failed

上面的問題可由下列指令修正:
cd `pear config-get php_dir`
mv .channels .channels-broken
pear update-channels pear.php.net
pear update-channels pecl.php.net

解決方法來自於 Fixing “unsupported protocol”

因為存在著上面這兩個問題,所以當安裝完 openfiler2.99 ,請直接給它更新所有套件吧!

conary updateall

說也奇怪有時後更新一次 conary updateall 會沒法全部更新完成,若更新出錯可以在做一次直到所有套件都完成更新為止 。

接著安裝軟體開發相關套件

conary update gcc libtool glib glib:devel glibc glibc:devel automake autoconf pkgconfig php php:devel

如果你發現記錄檔 /var/log/openfiler/httpd/error_log 出現以下錯訊息,就是表示目錄運行的php版本太舊了,沒法滿足 Xdebug 的需求。

[Mon Nov 28 14:27:24 2011] [notice] caught SIGTERM, shutting down
Xdebug requires Zend Engine API version 220090626.
The Zend Engine API version 220060519 which is installed, is outdated.

安裝完軟體開發套件後,就能用 pecl 編譯安裝 xdebug 模組。

pecl install xdebug

Build process completed successfully
Installing ‘/usr/lib64/php5/xdebug.so’
install ok: channel://pecl.php.net/xdebug-2.1.2
configuration option “php_ini" is not set to php.ini location
You should add “extension=xdebug.so" to php.ini

剩下的工作就是設定php加載xdebug模組,並重新啟動openfiler的服務。

修改 /etc/php.ini 在最後一行加上下面這行設定:
zend_extension=/usr/lib64/php5/xdebug.so

重新啟動 openfiler (記住是重新啟動 openfiler 不是 httpd)
/etc/init.d/openfiler restart

查看是否有成功啟動 xdegug 模組,可以寫一個 php 的裏面就執行 phpinfo 函式,顯示 php 的狀態資訊。看看是否有 xdebug 模組被載入執行。

其它問題:

[root@pcmk-2 xdebug-2.1.2]# conary update libtool
error: ‘./libtool’ is not a valid conary changeset: File libtool is not a valid conary changeset.

rm -rf ./libtool #移除這個資料夾,就可以正常安裝了。

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 變更 )

Twitter picture

You are commenting using your Twitter account. Log Out / 變更 )

Facebook照片

You are commenting using your Facebook account. Log Out / 變更 )

Google+ photo

You are commenting using your Google+ account. Log Out / 變更 )

連結到 %s