lubuntu-13.10-desktop-amd64.iso NetBeans PHP | 乖離のぶろぐ(*´∀`)吸い込んで応援
(゚ω゚)まずは関連情報
http://www.atmarkit.co.jp/ait/articles/1103/31/news106.html
ステップアップ! PHP(2):PECLのXDebugでデバッグを簡単に(前編) (1/4)

(゚ω゚) NetBeans IDE 7.4 ダウンロードにPHPがあるのだが、今使ってるIDEはC言語。
https://netbeans.org/downloads/index.html


(゚ω゚)プラグインを入れる!
http://otn.oracle.co.jp/technology/global/jp/sdn/java/series/nb65/200903.html
既に他のバンドルをインストールしている場合は、NetBeans IDE のメニューバーから「ツール」>「プラグイン」を選択し、「使用可能なプラグイン」タブから PHP プラグインをインストールできます。

以下のものは NetBeans IDE には含まれていません。使用する OS またはディストリビューションによっては最初から含まれている場合があります。






PHP エンジンバージョン 5
Web サーバーApache HTTP Server 2.2 (推奨)PHP スクリプトをコマンド行で実行するだけであれば必要ありません
データベースサーバーMySQL Server 5.0 (推奨)データベースを使用するときに必要になります。今回は説明していません
デバッガXDebug 2.0 以降Web サーバー上でデバッグする場合に必要になります

これらをインストールして構成する方法は、使用する OS によって異なります。使用する OS にあわせて、次のドキュメントを参照してください。





(゚ω゚) PHPプラグイン入れたら、沢山出てきた。




(゚ω゚) php5 php5-xdebug インストール




sudo apt-get install php5-dev # pecl install xdebug に必要
sudo pecl install xdebug


20140313_115133_JST_lubuntu-13.10-desktop-amd64.iso NetBeans PHP Debug Not Found.png


(゚ω゚)これ以上は、調べて2日経過したが、進まん・・・

root@lubuntu-VirtualBox:/etc/apache2/mods-available# php -i | grep debug
PHP Warning: Module 'xdebug' already loaded in Unknown on line 0
/etc/php5/cli/conf.d/20-xdebug.ini
with Xdebug v2.2.4, Copyright (c) 2002-2014, by Derick Rethans
report_zend_debug => Off => Off
PHP Warning: Unknown: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone. in Unknown on line 0
xdebug
xdebug support => enabled
xdebug.auto_trace => Off => Off
xdebug.cli_color => 0 => 0
xdebug.collect_assignments => Off => Off
xdebug.collect_includes => On => On
xdebug.collect_params => 0 => 0
xdebug.collect_return => Off => Off
xdebug.collect_vars => Off => Off
xdebug.coverage_enable => On => On
xdebug.default_enable => On => On
xdebug.dump.COOKIE => no value => no value
xdebug.dump.ENV => no value => no value
xdebug.dump.FILES => no value => no value
xdebug.dump.GET => no value => no value
xdebug.dump.POST => no value => no value
xdebug.dump.REQUEST => no value => no value
xdebug.dump.SERVER => no value => no value
xdebug.dump.SESSION => no value => no value
xdebug.dump_globals => On => On
xdebug.dump_once => On => On
xdebug.dump_undefined => Off => Off
xdebug.extended_info => On => On
xdebug.file_link_format => no value => no value
xdebug.idekey => no value => no value
xdebug.max_nesting_level => 100 => 100
xdebug.overload_var_dump => On => On
xdebug.profiler_aggregate => Off => Off
xdebug.profiler_append => Off => Off
xdebug.profiler_enable => Off => Off
xdebug.profiler_enable_trigger => Off => Off
xdebug.profiler_output_dir => /tmp => /tmp
xdebug.profiler_output_name => cachegrind.out.%p => cachegrind.out.%p
xdebug.remote_autostart => Off => Off
xdebug.remote_connect_back => Off => Off
xdebug.remote_cookie_expire_time => 3600 => 3600
xdebug.remote_enable => Off => Off
xdebug.remote_handler => dbgp => dbgp
xdebug.remote_host => localhost => localhost
xdebug.remote_log => no value => no value
xdebug.remote_mode => req => req
xdebug.remote_port => 9000 => 9000
xdebug.scream => Off => Off
xdebug.show_exception_trace => Off => Off
xdebug.show_local_vars => Off => Off
xdebug.show_mem_delta => Off => Off
xdebug.trace_enable_trigger => Off => Off
xdebug.trace_format => 0 => 0
xdebug.trace_options => 0 => 0
xdebug.trace_output_dir => /tmp => /tmp
xdebug.trace_output_name => trace.%c => trace.%c
xdebug.var_display_max_children => 128 => 128
xdebug.var_display_max_data => 512 => 512
xdebug.var_display_max_depth => 3 => 3
root@lubuntu-VirtualBox:/etc/apache2/mods-available#


(゚ω゚) まったく同じ内容の php.ini が2つ存在している。
/etc/php5/apache2/php.ini
/etc/php5/cli/php.ini
(゚ω゚) である。 php.ini には zend_extension="/usr/lib/php5/20121212/xdebug.so" を追記すべきではないらしい。
(゚ω゚) 両 php.ini を zend_extension行を追加する前( インストールしたまま )の状態に戻すと、
PHP Warning: Module 'xdebug' already loaded in Unknown on line 0
/etc/php5/cli/conf.d/20-xdebug.ini
(゚ω゚) というWarningが消えた。

root@lubuntu-VirtualBox:/etc/init.d# ls -la apa*
-rwxr-xr-x 1 root root 10098 7月 24 2013 apache2
root@lubuntu-VirtualBox:/etc/init.d# ./apache2 restart
* Restarting web server apache2 AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message
[ OK ]
root@lubuntu-VirtualBox:/etc/init.d#


root@lubuntu-VirtualBox:/etc/apache2/mods-available# php -i | grep debug | head
PHP Warning: Unknown: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone. in Unknown on line 0
/etc/php5/cli/conf.d/20-xdebug.ini
with Xdebug v2.2.4, Copyright (c) 2002-2014, by Derick Rethans
report_zend_debug => Off => Off
xdebug
xdebug support => enabled

(゚ω゚) 既にあるから、zend_extensionの追記は不要ということか。
root@lubuntu-VirtualBox:/etc/php5/mods-available# ls -la
合計 24
drwxr-xr-x 2 root root 4096 3月 13 13:09 .
drwxr-xr-x 5 root root 4096 3月 12 12:25 ..
-rw-r--r-- 1 root root 83 3月 1 05:20 opcache.ini
-rw-r--r-- 1 root root 66 3月 1 05:20 pdo.ini
-rw-r--r-- 1 root root 76 3月 1 05:20 readline.ini
-rw-r--r-- 1 root root 48 3月 12 18:41 xdebug.ini
root@lubuntu-VirtualBox:/etc/php5/mods-available# more xdebug.ini
zend_extension=/usr/lib/php5/20121212/xdebug.so
root@lubuntu-VirtualBox:/etc/php5/mods-available#


(゚ω゚) lubuntu-13.10-desktop-amd64.iso では、
(゚ω゚) php5-xdebug をインストールすると、
(゚ω゚) /etc/php5/mods-available/xdebug.ini ファイルが作られていた。


(゚ω゚) ブラウザが
http://localhost/PhpProject1/index.php?XDEBUG_SESSION_START=netbeans-xdebug
(゚ω゚) を見ようとして、
Not Found
The requested URL /PhpProject1/index.php was not found on this server.
Apache/2.4.6 (Ubuntu) Server at localhost Port 80
(゚ω゚)に成ってる辺りに問題があると思う。

(゚ω゚) ブラウザで見ようとしてるindex.phpはここにある。
lubuntu@lubuntu-VirtualBox:~/NetBeansProjects$ pwd
/home/lubuntu/NetBeansProjects
lubuntu@lubuntu-VirtualBox:~/NetBeansProjects$ ls -lR
.:
合計 16
drwxr-xr-x 5 lubuntu lubuntu 4096 3月 12 17:26 CppApplication_1
drwxr-xr-x 5 lubuntu lubuntu 4096 3月 12 17:26 CppApplication_2
drwxr-xr-x 3 lubuntu lubuntu 4096 3月 1 16:08 CppApplication_3
drwxr-xr-x 3 lubuntu lubuntu 4096 3月 12 17:46 PhpProject1

/* 無関係なls結果なので省略 */

./PhpProject1:
合計 8
-rw-r--r-- 1 lubuntu lubuntu 563 3月 14 00:42 index.php
drwxr-xr-x 3 lubuntu lubuntu 4096 3月 12 17:46 nbproject

./PhpProject1/nbproject:
合計 12
drwxr-xr-x 2 lubuntu lubuntu 4096 3月 12 19:41 private
-rw-r--r-- 1 lubuntu lubuntu 685 3月 12 19:41 project.properties
-rw-r--r-- 1 lubuntu lubuntu 313 3月 12 17:46 project.xml

./PhpProject1/nbproject/private:
合計 8
-rw-r--r-- 1 lubuntu lubuntu 0 3月 12 19:41 config.properties
-rw-r--r-- 1 lubuntu lubuntu 594 3月 12 19:41 private.properties
-rw-r--r-- 1 lubuntu lubuntu 435 3月 13 19:41 private.xml
lubuntu@lubuntu-VirtualBox:~/NetBeansProjects$


(゚ω゚) localhost/index.html はこれか・・・
root@lubuntu-VirtualBox:/var/www# ls
index.html


(゚ω゚) シンボリックリンクを置いてみると・・
root@lubuntu-VirtualBox:/var/www# ln -s /home/lubuntu/NetBeansProjects/PhpProject1 PhpProject1
root@lubuntu-VirtualBox:/var/www# ls -la
合計 12
drwxr-xr-x 2 root root 4096 3月 13 16:10 .
drwxr-xr-x 14 root root 4096 3月 1 11:35 ..
lrwxrwxrwx 1 root root 42 3月 13 16:10 PhpProject1 -> /home/lubuntu/NetBeansProjects/PhpProject1
-rw-r--r-- 1 root root 180 3月 13 16:01 index.html
root@lubuntu-VirtualBox:/var/www#


(゚ω゚) まだ、デバックは出来ない・・
(゚ω゚) /etc/php4 の下に置いてあるファイル。
(゚ω゚) 拡張子が .new や .bak は試した時の残骸ファイルです。

lubuntu@lubuntu-VirtualBox:/etc/php5$ ls -lR /etc/php5
/etc/php5:
合計 12
drwxr-xr-x 3 root root 4096 3月 13 14:08 apache2
drwxr-xr-x 3 root root 4096 3月 13 19:32 cli
drwxr-xr-x 2 root root 4096 3月 13 19:32 mods-available

/etc/php5/apache2:
合計 144
drwxr-xr-x 2 root root 4096 3月 13 19:32 conf.d
-rw-r--r-- 1 root root 69593 3月 1 05:20 php.ini
-rw-r--r-- 1 root root 69643 3月 12 19:30 php.ini.new

/etc/php5/apache2/conf.d:
合計 0
lrwxrwxrwx 1 root root 32 3月 12 12:25 05-opcache.ini -> ../../mods-available/opcache.ini
lrwxrwxrwx 1 root root 28 3月 12 12:25 10-pdo.ini -> ../../mods-available/pdo.ini
lrwxrwxrwx 1 root root 33 3月 12 12:25 20-readline.ini -> ../../mods-available/readline.ini
lrwxrwxrwx 1 root root 31 3月 13 19:32 20-xdebug.ini -> ../../mods-available/xdebug.ini

/etc/php5/cli:
合計 212
drwxr-xr-x 2 root root 4096 3月 13 19:32 conf.d
-rw-r--r-- 1 root root 69593 3月 1 05:20 php.ini
-rw-r--r-- 1 root root 69593 3月 1 05:20 php.ini.bak
-rw-r--r-- 1 root root 69643 3月 12 19:22 php.ini.new

/etc/php5/cli/conf.d:
合計 0
lrwxrwxrwx 1 root root 32 3月 12 12:25 05-opcache.ini -> ../../mods-available/opcache.ini
lrwxrwxrwx 1 root root 28 3月 12 12:25 10-pdo.ini -> ../../mods-available/pdo.ini
lrwxrwxrwx 1 root root 33 3月 12 12:25 20-readline.ini -> ../../mods-available/readline.ini
lrwxrwxrwx 1 root root 31 3月 13 19:32 20-xdebug.ini -> ../../mods-available/xdebug.ini

/etc/php5/mods-available:
合計 16
-rw-r--r-- 1 root root 83 3月 1 05:20 opcache.ini
-rw-r--r-- 1 root root 66 3月 1 05:20 pdo.ini
-rw-r--r-- 1 root root 76 3月 1 05:20 readline.ini
-rw-r--r-- 1 root root 48 3月 13 19:32 xdebug.ini
lubuntu@lubuntu-VirtualBox:/etc/php5$

(゚ω゚) やはり、xdebug.ini が怪しそうだ。
(゚ω゚) いかにもデバッグするための iniファイル。
(゚ω゚) xdebug.remote_enable=1を追記します。


root@lubuntu-VirtualBox:/etc/php5/mods-available# more xdebug.ini
zend_extension=/usr/lib/php5/20121212/xdebug.so
xdebug.remote_enable=1

root@lubuntu-VirtualBox:/etc/php5/mods-available#

(゚ω゚) 続いて、アパッチ再起動(restartしないとデバックできません)

root@lubuntu-VirtualBox:/etc/php5/mods-available# /etc/init.d/apache2 restart
* Restarting web server apache2 AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message
[ OK ]
root@lubuntu-VirtualBox:/etc/php5/mods-available#

(゚ω゚)デバックOK


20140313_223913_JST_lubuntu-13.10-desktop-amd64.iso NetBeans PHP デバッグ出来るようになるとxdebug.remote_enableがOffからOnに変わっていた.png


(゚ω゚)纏め。

lubuntu-13.10-desktop-amd64.iso では、
php5-xdebug をインストールすると、
/etc/php5/mods-available/xdebug.ini ファイルが作られる。

lubuntu上のNetBeansでデバックしたい場合は xdebug.ini に、
xdebug.remote_enable=1
を追記し、
/etc/init.d/apache2 restart
を実行すると、デバックできた。