プログラミングと心理学の忘備録

自分の知識をストックしていくためのブログ

【CakePHP3】NetBeans8.2で開発環境の構築〜デバッグまで

スポンサーリンク

CakePHP3 と NetBeans8.2で開発環境を整えたので手順を残します。OSはUbuntu16.04です。

事前準備

sudo apt-get install php-mbstring
sudo apt-get install php7.0-intl

CakePHPのシステム要件はこちら

NetBeans

インストール

http://netbeans.org/downloads/から対象のダウンロードボタンをクリックする。
シェルスクリプトがダウンロードされるので実行する。

$ cd ダウンロード
$ sudo sh netbeans-8.2-php-linux-x64.sh

f:id:chi_tana:20161218182901p:plain

ホームフォルダの下におく。
f:id:chi_tana:20161218183223p:plain
起動後の画面
f:id:chi_tana:20161218184243p:plain

CakePHP3のプラグインをインストールする

f:id:chi_tana:20161218190652p:plain
PHP CakePHP Frameworkを探してインストール。
f:id:chi_tana:20161218190803p:plain

成功した画面
f:id:chi_tana:20161218191117p:plain

プロジェクトの作成

今回は作成途中のものがあるのでインポートを行う。
プロジェクトの選択画面で言語を選択する。
f:id:chi_tana:20161218191604p:plain

プロジェクトのパスや言語のバージョンを指定する。ちなみにPHP7がNetBeansでサポートされるのは8.2から。
f:id:chi_tana:20170328222113p:plain

各設定を確認して終了。(開始ファイルは後で「webroot/index.php」に変更します。)
f:id:chi_tana:20170328221942p:plain

xdebug

NetBeansでデバッグをするためにxdebugをインストール。

$ sudo apt install php-xdebug

/etc/php/7.0/mods-available/xdebug.ini を変更

zend_extension=xdebug.so
xdebug.remote_enable=1
xdebug.remote_autostart=1
xdebug.idekey="netbeans-xdebug"

適当な箇所にinfophp()を書いて
xdebugを使えることが表示されていればOK。

<?php
    phpinfo();
?>

f:id:chi_tana:20170328210244p:plain

php.ini を変更

php.iniの場所は、phpinfo()から参照できる。
f:id:chi_tana:20170328212540p:plain

以下の設定を記載する。php.iniの変更後はwebサーバの再起動を行う。

xdebug.default_enable = 1
xdebug.remote_enable  = on
; xdebug.remote_host    = 127.0.0.1
xdebug.remote_port    = 9000
xdebug.remote_handler = dbgp
xdebug.remote_autostart = 0
xdebug.remote_connect_back=1

デバッグ

プロジェクトのプロパティを開き、「実行構成」の「開始ファイル」に「webroot/index.php」を指定する。

「最初の行で停止」のチェックを外す

デバッグをするとブレークポイントを貼ってもいないのにindex.phpで止まってしまう。回避するには「オプション」→「PHP」→「デバッグ」 の「最初の行で停止」のチェックを外す。

これできちんと開発できるようになる。

参考にさせていただいたサイト
Ubuntu 16.04をインストールしてからPHPのデバッグができるまで | K'zlog
NetBeansにCakePHPのプラグインを導入する(2)|開発者ブログ | 沖縄県浦添市のサンネット株式会社
Netbeansのデバッグ機能をCakePHPで使う - Qiita