Xdebug(2.0.5)をインストールする

環境
CentOS:5.4
PHP:5.3.1
・(php-develインストール済)

LatestバージョンをGET〜解凍〜phpize

$ wget http://xdebug.org/files/xdebug-2.0.5.tgz
$ tar zxvf xdebug-2.0.5.tgz
$ cd xdebug-2.0.5
$ phpize

ここでエラー発生。

Configuring for:
PHP Api Version:         20090626
Zend Module Api No:      20090626
Zend Extension Api No:   220090626
/usr/bin/m4: unrecognized option `--debugfile=autom4te.cache/traces.0t'
Try `/usr/bin/m4 --help' for more information.
autom4te: /usr/bin/m4 failed with exit status: 1

どうやら、m4関連のオプションが認識されていないらしいので、m4とautoconfをlatestバージョンにアップデートすればいいのかなと思いインストール作業へ。ここで注意、autoconfはm4に依存するらしいので、m4からインストールする。

m4(1.4.13)インストール

$ wget ftp://ftp.gnu.org/gnu/m4/m4-1.4.10.tar.gz
$ tar zxvf m4-1.4.10.tar.gz
$ cd m4-1.4.10
$ ./configure --prefix=/usr/local/
$ make
$ make install

autoconf(2.65)インストール

$ wget ftp://ftp.gnu.org/gnu/autoconf/autoconf-2.65.tar.xz
$ tar zxvf autoconf-2.65.tar.xz
$ cd autoconf-2.65
$ ./configure --prefix=/usr/local/
$ make
$ make install

でそれぞれ確認

$ /usr/local/bin/m4 --version
m4 (GNU M4) 1.4.13
・・・・・・
$ /usr/local/bin/autoconf --version
autoconf (GNU Autoconf) 2.65
・・・・・・

ちゃんと、入ってました。

さてここで、本題に戻ってphpizeの作業に戻る。

$ phpize
Configuring for:
PHP Api Version:         20090626
Zend Module Api No:      20090626
Zend Extension Api No:   220090626
/usr/bin/m4: unrecognized option `--debugfile=autom4te.cache/traces.0t'
Try `/usr/bin/m4 --help' for more information.
autom4te: /usr/bin/m4 failed with exit status: 1

またしても同じエラー。???と思ってエラーを確認すると、インストールした、m4のディレクトリ/usr/local/binではなく、前のバージョンの/usr/bin/m4が用いられてることに気付いた。
なので、/usr/bin/の旧バージョンを上書きしてみることに。(一応バックアップ推奨)。読み込むパスの優先度の設定をすればいいと思うが、やり方がわからなかったので、力技でやってみた。(autoconfをインスールした際にできた、その他のコマンドも上書きした。)

$ rm -f /usr/bin/m4
$ cp /usr/local/bin/m4 /usr/bin/.

$ rm /usr/bin/autoconf
$ cp /usr/local/bin/autoconf /usr/bin/.

$ rm -f /usr/bin/autoheader
$ cp /usr/local/bin/autoheader /usr/bin/.

$ rm -f /usr/bin/autom4te
$ cp /usr/local/bin/autom4te /usr/bin/.

$ rm -f /usr/bin/autoscan
$ cp /usr/local/bin/autoscan /usr/bin/.

$ rm -f /usr/bin/autoreconf
$ cp /usr/local/bin/autoreconf /usr/bin/.

$ rm -f /usr/bin/autoupdate
$ cp /usr/local/bin/autoupdate /usr/bin/.

$ rm -f /usr/bin/ifnames
$ cp /usr/local/bin/ifnames /usr/bin/.

これで、もう一度。phpsizeをすると通ったので、その後の処理もしてしまう。

$ phpize
$ ./configure --enable-xdebug
$ make
$ cp modules/xdebug.so /usr/lib/php/modules/.

これで、Xdebugのインストールは終了。最後にphp.iniに以下を追加して再読み込みして終了。

$ vim php.ini
・・・・・・
zend_extension=/usr/lib/php/modules/xdebug.so
$ /etc/rc.d/init.d/httpd reload

phpファイルを作って、var_dump()やエラー画面が綺麗に表示されていれば無事終了。


xdebugの設定についてはここを参考に。


参考

Linuxの環境変数を設定した。

先日入れたsubversionを使ってコミットする際に毎度、以下のように注意を受けるので、環境変数を設定することにした。

svn: 環境変数 SVN_EDITOR, VISUAL, EDITOR のどれも設定されていなく、実行時の設定オプション 'editor-cmd' も見つかりません

環境変数を設定するには以下のファイルを編集すればいいらしい・・・。
・/etc/profile
・~/.bash_profile
今回は全ユーザにとって反映したいので、/etc/profileを編集した。(末尾に追加した。)

$ vim /etc/profile

・・・・・
export SVN_EDITOR=vim

その後、設定を反映するために、

$ source /etc/profile

で確認する

[xxx@xxx ~]$ echo $SVN_EDITOR
vim
[xxx@xxx ~]$ 

これで設定完了。また、設定されている環境変数を確認するコマンドは

$ printenv

だそうだ・・・。

include_pathを複数指定にする。(/etc/php.ini)

なぜか、require_onceでエラーがでていたので、get_include_path()で確認したら、設定したと思っていたinclude_pathの記述の仕方が間違っていたので、修正したときのメモ。
PEARSmartyのあるディレクトリのパスを指定したい。以下のパス
・/usr/share/pear/PEAR
・/usr/local/include/php
なので、複数ある場合は:(コロン)で区切るらしいので、/etc/php.iniを以下のように修正した。

include_path=".:/usr/share/pear/PEAR:/usr/local/include/php"

ちなみに、Windows環境だと、;(セミコロン)で区切るみたいなので注意です。

Warning: date()が出るのでdate.timezoneの設定。

Warning: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or theult_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelledone identifier. We selected 'Asia/Tokyo' for 'JST/9.0/no DST' instead in ○○○

の警告が出たので、Googleさんに聞いたら、php.iniでdate.timezoneを設定すればいいらしい。なので修正した。

$ vim /etc/php.ini
・・・・・
date.timezone = Asia/Tokyo
・・・・・

でリロード

$ /etc/rc.d/init.d/httpd reload

これだけ。

参考

Tracの文字化け対策。UTF-8にする

さっそくTracを使ってみたら、文字化けしていたので、trac.iniを開いて、default_charset= cp932 から utf-8へする。

$ vim /var/www/trac/test/conf/trac.ini

・・・・・
default_charset = utf-8 
・・・・・

以上!
自宅でも、あえてサブバージョンを使って開発して行って慣れていこうと思う。

参考

sshで入ったときに、user@localhostだったので、localhostの部分を設定した

sshで入っは時に、以下のように表示されていた。

[xxx@localhost ~]$

今回はこのlocalhostの部分を変更しようと思う。同時に複数のサーバに入っているときに見分けがつかないので設定することに。いろいろ調べた結果、

  • /etc/hosts
  • /etc/sysconfig/network
を設定すればいいらしいので、編集した。
/etc/sysconfig/network

$ vim /etc/sysconfig/network
HOSTNAME=kint02.ki.noda.tus.ac.jp #ドメイン

/etc/hosts

$ vim /etc/hosts
127.0.0.1  kint02.ki.noda.tus.ac.jp kint02 localhost.localdomain localhost #※

127.0.0.1 サーバのドメイン 表示したい名前 localhost.localdomain localhost
書式についてはよく理解していないが・・・


そして、変更した設定を再読み込み

$ /etc/rc.d/init.d/network reload

localhostからkint02に変わった↓

[xxx@kint02 ~]$

よしこれで目的達成。


参考