<?xml version="1.0" encoding="UTF-8"?><!-- generator="WordPress/2.7" -->
<rss version="0.92">
<channel>
	<title>とれっくかいはつ</title>
	<link>http://www.trekdevel.net</link>
	<description></description>
	<lastBuildDate>Sun, 25 May 2008 12:01:35 +0000</lastBuildDate>
	<docs>http://backend.userland.com/rss092</docs>
	<language>ja</language>
	
	<item>
		<title>mod_railsのインストールメモ</title>
		<description>Apache 2.2.0をソースからインストールしているCentOS4.3の環境で、Passenger(mod_rails)をインストールしようとしましたが、エラーとなりました。

Apache 2.2.8にアップグレードしたところ、無事mod_railsをインストールできました。

エラー内容
mod_railsのインストールは、Redmine.JP &#124; Apache上でRuby on Railsアプリケーションを動かす／Passenger(mod_rails for Apache)の利用の手順を参考にしました。
その手順のpassenger-install-apache2-moduleの実行途中でエラーとなりました。

次のようなエラーメッセージです。
# export APXS2=/usr/local/apache2/bin/apxs 
# export PATH=/usr/local/apache2/bin:$PATH
# passenger-install-apache2-module
略
Configuration.cpp:241: error: expected primary-expression
略
Command failed with status (1) ...



リンク

	Welcome! - The Apache HTTP Server Project
	Overview ― Phusion Passenger^(TM) (a.k.a. mod_rails)
	Redmine.JP &#124; Apache上でRuby on Railsアプリケーションを動かす／Passenger(mod_rails for Apache)の利用



 </description>
		<link>http://www.trekdevel.net/archives/190</link>
			</item>
	<item>
		<title>WordPress2.5へアップグレード</title>
		<description>WordPress ME 2.2からWordPress 2.5へアップグレードしました。

アップグレードは、次のような流れで実施しました。


DBデータとファイル一式バックアップ
ローカル環境に本サイトのDBデータとファイル一式を使用した環境を構築
ローカル環境でアップグレードのチェック
本サイトに新しいDBを作成し、ローカル環境でチェックしたDBデータをインポート
本サイトのファイルをローカル環境でチェックしたものと入れ替える


ローカル環境と本サイト間で、mysqlデータのインポート/エクスポートするときは、ダンプしたsqlファイル内のURLやファイルパスを置換しました。

だいたいうまくいったようでしたが、本サイトの管理画面のダッシュボードにアクセスすると、何も表示されない状態でした。

PHPのエラーを表示するため、wp-adminディレクトリの.htaccessにphp_flag display_errors "On"を記述して、ダッシュボードにアクセスすると、次のようなエラーが表示されました。

Fatal error: Cannot use string offset as an array in [略]wp-admin/includes/dashboard.php


WordPress › Support » 2.5 - Fatal Error: Cannot use string offset as an array, line 46 dashboard.phpを参考に、DBのデータを削除しました。

[SQL]
select * from wp_options where option_name='dashboard_widget_options';
[/SQL]
"dashboard_widget_options"に対応する行が1行しかないことを確認して、その行を削除。
[SQL]
delete  from wp_options where option_name='dashboard_widget_options';
[/SQL]

これでダッシュボードは表示されました。
その他もいまのところ問題ないようです。
 </description>
		<link>http://www.trekdevel.net/archives/188</link>
			</item>
	<item>
		<title>PHP4インストールエラー、libphp4.soが作成されない?</title>
		<description>PHP4.4.8をソースからインストールしたときのエラーとその回避方法です。

make installしたところ、次のようなエラー(抜粋)がでました。

chmod: cannot access `/usr/local/apache2/modules/libphp4.so'
 
php4 apxs:Error: Command failed with rc=65536

make: *** [install-sapi] エラー 1


最初、.conigureを次のようにしていました。
./configure \
--with-apxs2=/usr/local/apache2/bin/apxs \
--with-mysql=/usr/mysql \
--with-config-file-path=/etc/php \
--enable-mbstring \
--with-zlib \
--with-gd \
--with-libmbfl \
--enable-pcntl \
--with-openssl \
--with-jpeg-dir=/usr/local/lib \
--with-png-dir=/usr/lib \
--with-dom \
--enable-exif \
--enable-mbregex \
--without-pear \
--enable-gd-native-ttf \
--with-freetype-dir=/usr/lib/ \
--with-gmp \
--enable-bcmath \
--enable-ftp


下記、参考リンクのページを参考に、.configureに--prefix=/usr/local/phpを指定しました。
すると、make installでエラーはでず、インストールできました。
いろいろ試したので、--prefixの指定でエラー回避となったのかどうかは、不明です。

./configure \
--prefix=/usr/local/php \
--with-apxs2=/usr/local/apache2/bin/apxs \
--with-mysql=/usr/mysql \
--with-config-file-path=/etc/php \
--enable-mbstring \
--with-zlib \
--with-gd \
--with-libmbfl \
--enable-pcntl \
--with-openssl \
--with-jpeg-dir=/usr/local/lib \
--with-png-dir=/usr/lib \
--with-dom \
--enable-exif ...</description>
		<link>http://www.trekdevel.net/archives/187</link>
			</item>
	<item>
		<title>Emacs Lisp設定メモ</title>
		<description>PHPを使うWebアプリケーション開発用にインストールしたEmacs Lispメモです。

	PHP mode for Emacs
	HTML helper mode beta
	javascript.el
	A CSS editing mode for Emacs
	EmacsWiki: Smarty Mode

elファイルは、/usr/local/share/emacs/22.1/site-lispに置きました。


php-mode

ダウンロード:SourceForge.net: PHP mode for Emacs
バージョン:1.4.0

1.4.0は、Emacs バージョン22.1がサポート対象のようです(SourceForge.net: PHP mode 1.4.0 released)。

.emacs設定
php-mode1.2.0では、タブ幅の設定などは、php-mode-user-hookで動作していました。
php-mode1.4.0は、php-mode-hookで動作するようです。

(add-hook 'php-mode-hook 'turn-on-font-lock)

(autoload 'php-mode "php-mode" "PHP mode" t)

(defcustom php-file-patterns (list "\\.php[s34]?\\'" "\\.phtml\\'" "\\.inc\\'")
  "*List of file patterns for which to automatically invoke php-mode."
  :type '(repeat ...</description>
		<link>http://www.trekdevel.net/archives/186</link>
			</item>
	<item>
		<title>Emacs 22.1をインストール</title>
		<description>Emacs 21.3から22.1への入れ替えメモです。

VMware上のCentOS4.4にインストールしました。

nXhtml - an Emacs mode for XHTMLを使用したかったのが入れ替えの動機です。
(nXhtmlは、試してみましたが、カラーの設定がうまくいかず、とりあえず使用しないことに・・・。）


rpmパッケージの削除

最初にEmacs21.3のrpmパッケージを削除しました。
# rpm -qa &#124; grep emacs
# rpm -e emacs-leim-21.3-19.EL.4 emacs-21.3-19.EL.4 emacs-common-21.3-19.EL.4

emacs-commonやemacs-leimは何かは知りませんが、気にせず削除しました。

Emacs 22.1のダウンロード

GNU Emacs - GNU Project - Free Software Foundation (FSF)

emacs-22.1.tar.gzをダウンロード。


インストール


# tar xvzf emacs-22.1.tar.gz
# cd emacs-22.1
# ./configure
# make
# make install



Emacsセッションの保存

22.1にしたところ、Emacsを終了しただけで、Emacsセッションの保存ができなくなりました。
M-x desktop-saveするとセッションの保存ができるのですが。

21.3は、次を.emacsに記述するだけで動作していました。
(desktop-load-default)
(desktop-read)


そこで、次のような記述に変更したところ、セッションの保存ができました。
(require 'desktop)
(setq desktop-enable t)
(desktop-load-default)
(desktop-read)


ただ、Emacsバージョン22.1の場合、Saving Emacs Sessions - GNU Emacs Manualにあるように、
(desktop-save-mode 1)

を記述するだけでよいみたいです。
 </description>
		<link>http://www.trekdevel.net/archives/185</link>
			</item>
	<item>
		<title>XdebugとPDTでリモートデバッグ</title>
		<description>WindowsクライアントからLinuxサーバーのPHPウェブページをリモートデバッグする設定のメモです。

Windows(XP SP2)には、EclipseのPHP開発用プラグイン「PDT」をインストールします。
「PDT」は、Xdebugクライアントになります。

Xdebugは、Xdebugインストールメモのようにインストール済みです。


PDTインストール

PDTは、PDT Projectから「PDT All-in-One」パッケージをダウンロードしました。
(ダウンロードしたファイルは、pdt-all-in-one-S20071213_M1-win32.zipです。)

インストールは、zipファイルを適当なフォルダに解凍するだけでOKのようです。
(JVM(Java virtual machine)は必要)


サーバーの設定

デバッグするファイルは、次のようなパスにあるものとします。


	ドキュメントルート
	/var/www/html


	デバッグ対象ファイル
	/var/www/html/rd/index.php


	デバッグ対象URL
	http://test.localdomain/rd/index.php



/var/www/html/rd/index.phpは、次のようなものにします。
[php]

[/php]


.htaccessにXdebugの設定
ドキュメントルートの.htaccessには、次のような設定を行います。

php_flag xdebug.remote_enable On
php_value xdebug.remote_handler dbgp
php_value xdebug.remote_host 192.168.0.XX


この例では、xdebug.remote_hostには、WindowsクライアントのIPを指定しています。


PDTプロジェクト作成

eclipse.exeを起動します。
初めてeclipseを起動するときには、Workspaceの作成を聞かれると思います。

プロジェクトの新規作成

1.メニューの[File]->[New]->[Project]をクリック。

2.[PHP Project]を選択して、[Next]ボタンをクリック。

3.Project Nameを適当に入力して、[Finish]ボタンをクリック。
この例では、[Use efault]のチェックを外して、「H:\test」を指定しています。


4.サーバーのファイルをWindowsクライアントにコピー。

サーバーのファイルとローカルファイルは、次のような対応にしました。


	サーバーのファイルパス
	/var/www/html/rd/index.php


	ローカルのファイルパス
	H:\DocumentRoot\rd\index.php



5.ローカルファイルをプロジェクトに追加。
プロジェクト名を右クリックして表示されるメニューの[Import]をクリックして、ローカルのファイルをインポートします。



[Finish]ボタンをクリックして完了。





PDT デバッグ設定

1.
メニューの[Run]->[Open Run Debug...]をクリックします。

2.
[PHP Web Page]をダブルクリックして、デバッグ設定を作成します。

主な設定は、次のようになります。


	Server Debugger
	Xdebug


	PHP Server
	サーバー一覧が表示されていない場合は、[New]ボタンをクリックして作成します。デバッグ対象があるサーバー名を指定します。


	File
	プロジェクトに追加したファイルを指定します。


	URL
	デバッグ対象のURLを指定します。







3.
[Apply]ボタンをクリックして、設定を保存します。


PDT デバッグ実行


メニューの[Run]->[Debug]をクリックします。

デフォルトでは、ブレークポイントを設定しなくても、PHPスクリプトの先頭でデバッガが処理を停止します。
次のキャプチャは、[F5]キーを押しながら関数の中まで入ったところです。




その他

Windows(XP SP2)には、COMODO Firewallをインストールしています。
最初、ファイアーウォール(COMODO Firewall)にブロックされて、PDTでデバッグできるまで少し手間取りました。

COMODO FirewallのApplication Control Rulesで、次の設定を行いました。


IEXPLORE.EXEの設定で、親がeclipse.exeの場合、MiscellaneousのAllow invisible connection attemptsにチェックを入れる。


(一度、すべてのIEXPLORE.EXEの設定の設定を削除後、[Run]->[Debug]すると、COMODO Firewallが許可するかどうか聞いてくるかも。)



eclipseはとても重いというイメージがありましたので、軽快に動作するのが意外でした。

僕はemacsで作業することが多いですが、PDTでのデバッグをときどき利用したいと思います。
 </description>
		<link>http://www.trekdevel.net/archives/174</link>
			</item>
	<item>
		<title>Xdebugインストールメモ</title>
		<description>PHPスクリプトにブレークポイントを設定して、ステップ実行できれば何かと便利です。
LinuxサーバーのPHPウェブページをWindowsクライアントからリモートデバッグする環境(Xdebug,PDT)を作ってみます。


まず、Xdebugをインストールします。

Linux(CentOS 4.3)マシンにインストールしているapacheとPHPのバージョンは、次の通りです。


apache 2.2.0


PHP 5.2.3


(両方ともソースからインストールしています。)

Xdebugは、バージョン2.0.2をインストールします。

インストール前の確認

php-configとphpizeが必要とのことで、パスが通っているか見てみます。
# which php-config
# which phpize


php-configとphpizeは、PHPをソースからインストールしたため(?)か、インストールされていました。


インストール手順
インストールは、Xdebug: Documentationの「Installation From Source」の手順を参考にして、次のように行いました。

Xdebugのインストール
# cd /usr/local/src
# tar xvzf xdebug-2.0.2.tgz
# cd xdebug-2.0.2
# phpize
 Configuring for:
 PHP Api Version:         20041225
 Zend Module Api No:      20060613
 Zend Extension Api No:   220060519
# ...</description>
		<link>http://www.trekdevel.net/archives/171</link>
			</item>
	<item>
		<title>Mantis1.1.1の設定管理でAPPLICATION ERROR #700</title>
		<description>Mantisを1.0.6から1.1.1へアップグレードしました。

アップグレード後、[システム管理]->[設定管理](adm_config_report.php)に進むと、次のエラーが発生。


APPLICATION ERROR #700
プロジェクトがありません。

ブラウザの戻るボタンを使用して前のページに戻ってください。そこで、エラーで判明したチケットを直すか他のアクションを選択してください。もしくは、メニューバーからオプションで選択して、新しいセクションに直に進んでください。


mantis_config_tableテーブルのデータが正常でなくなってしまったようです。
アップグレードが原因かどうかわかりませんが・・・
(アップグレード後、プロジェクトを1個削除しています。)

[sql]
mysql> select * from mantis_config_table;
+------------------+------------+---------+-------------+------+-------+
&#124; config_id        &#124; project_id &#124; user_id &#124; access_reqd &#124; type &#124; value &#124;
+------------------+------------+---------+-------------+------+-------+
&#124; database_version &#124; 0          &#124; 0       &#124; 90   ...</description>
		<link>http://www.trekdevel.net/archives/170</link>
			</item>
	<item>
		<title>Yahoo UIライブラリが2.4.1になってました</title>
		<description>The Yahoo! User Interface Library (YUI)が2.4.1になっていました。
見逃していた・・・

YUI 2.4.1: Maintenance Release » Yahoo! User Interface Blog

IEのみ、メモリーリークする場合があるようなので、早めに2.4.1を使いたいと思います。
 </description>
		<link>http://www.trekdevel.net/archives/169</link>
			</item>
	<item>
		<title>Yahoo UI CSSとIE6と文字サイズ</title>
		<description>YUIのCSSを使ったページのリンクをクリックした瞬間、デザインが崩れる(テキストのサイズが大きくなる)問題の回避方法がありました。

次の記事に記述があります。

IE でリンクをクリックするとフォントサイズが小さくなる - METAREAL

上の記事のあるように、YUIのcssを読み込んだあとで、次をcssに記述したところ、回避できました :-o 
[css]
* {font-size:100%;}
[/css]

関連記事

YUI2.4.0のtextarea
Yahoo! UI LibraryとInternet Explorer6は相性が悪いのかな

 </description>
		<link>http://www.trekdevel.net/archives/168</link>
			</item>
</channel>
</rss>
