PDT-Allinone XdebugでUnexpected termination of script

Windows7(64bit)でPDT-Allinone環境を入れてXdebugを利用した際に、「Unexpected termination of script,debugging ended.」と表示されてデバッグできない問題が発生しました。

  1. xdebugサイトからPHPバージョンにあったファイルをダウンロード(※1)
  2. DLした「php_xdebugxxxx」をphp/extに配置
  3. php.iniのzend_extensionを修正
  4. xamppを再起動

※1 xampp環境ではVC9 TS (32 bit)で正常に動作

カテゴリー: PDT

PDT-All-In-One on XAMPP で実行

PDT-All-In-Oneのjreありパッケージを利用すると、実行環境としてXAMPPもついてきます。

また、PDT-All-In-OneのデフォルトのWorkspaceが、[eclipse_root]/../xammp/htdocs/になっているためプロジェクト及びファイルを作成したあと、http://localhost/[プロジェクト名]/[PHPファイル名]でアクセスできるようです。


この為、PHPファイル名はもちろんですが、プロジェクト名もアルファベットで記述するほうが幸せになれそうですね。

例)

プロジェクト名: HelloWorld
ファイル名: Hello.php
URL: http://localhost/HelloWorld/Hello.php

Windows環境なので大文字小文字は同じ文字として識別されますが、Unix環境では別な文字として識別されるため、厳密な記述を習慣にしておいた方が幸せになれます。

はじめてのXAMPP for PDT-All-In-One

これまでWAMP環境を自前で準備していたので実はXAMPPって使ったことなかったんですよね。
ちょっと触れる機会があったので、試しに弄ってみることにしました。

PDT-All-In-One添付のXAMPPをセットアップしてみたでセットアップした後、xampp_start.exeでXAMPPを実行。ブラウザでlocalhostにアクセスしてみると、XAMPPの管理画面?が表示されました。

[XAMPP_ROOT]/htdocsの中身はこうなってました。

なるほど。。。htdocsにファイルを放り込んで使ってもらってもいいけど、最初は管理画面見てね。ってスタンスなんですねー
そのわりにapacheデフォルトのindex.htmlは残してるんだ。。。なんでだろ~?
これだけ色々置かれていると、初心者の方はhtdocs_rootを使ってよいものかどうか悩んじゃわないんでしょうか?(^^;

PDT-All-In-One添付のXAMPPをセットアップしてみた

xampp_start.exeを実行すると、なにやらdocumentRootを設定しろ!ってエラーになった。

よくよく見てみたらsetup_xampp.batがあったので実行してみる。
コマンドプロンプトが開いて、何やら「キーを押せ」との催促にしたがってテキトーに押しちゃうと画面が消えた。。。

何したのかわかんなかったので、バッチをエディタで開いてみると、懐かしいdosコマンドのバッチが表示されます!懐かしぃですねw


@ECHO OFF

if "%1" == "sfx" (
    cd xampp
)
if exist php\php.exe GOTO Normal
if not exist php\php.exe GOTO Abort

:Abort
echo Sorry ... cannot find php cli!
echo Must abort these process!
pause
GOTO END

:Normal
set PHP_BIN=php\php.exe
set CONFIG_PHP=install\install.php
%PHP_BIN% -n -d output_buffering=0 %CONFIG_PHP%
GOTO END

:END
pause

だそうな、要はPHPで各種設定をしてるわけですね。

install.phpの内容は長くなるからやめときますw

ざっくり読んでみたら、pathの設定とかapapcheのhttpd.confの設定、mysql系の設定なんかもやってました。
xamppの場所を変えたらこのsetup_xampp.batを実行してねって事です。

PDT-All-In-Oneのパーッケージの違い

ダウンロード部分

ダウンロード部分


MergeDoc Projectのダウンロードページを見てみると、32bit/64bitの他にJreあり/jreなしがある。何が違うか検証してみました。

まとめ

■今回の発見
“jreなし”パッケージのeclipseフォルダにjreを放り込むとjreをインストールしなくても起動できる
jreのフォルダ名は”jre”でないとダメ
■jre有り
eclipseフォルダにjreがあり、このjreを利用してEclipseが起動する
xamppパッケージが入っている
■jreなし
PDTのみでDLが早い