PHPStormでFuelPHPをセットアップ

PHP
スポンサーリンク

PHPStormでFuelPHPが最低限動作する開発環境を作ります。そしてローカルPC上でApacheを動作させ、ブラウザから確認できるようにするところまで説明します。また、あわせて簡単にデバッグ環境も整理しました。

開発環境

OSX10.8.4
PHP5.3.15(OSXのデフォルト)
FuelPHP1.3
Xdebug2.1.3
PHPStorm6.0.3
Apache2 2.2.22(OSXのデフォルト)

PHPStormのインストール

JetBrainのサイトからOSX用のPHPStormインストーラーをダウンロードします。

ダウンロードが終わったらPhpStorm-6.0.3.dmgというファイルをダブルクリックしてインストールします。以上でPHPStormのインストールは完了です。

PhpStorm

FuelPHPのインストール

FuelPHPのサイトからバイナリファイルをダウンロードします。バージョンは1.3を選択してください。ダウンロードが完了したらファイルを解凍し、適当な場所にフォルダを配置します。ここではホームディレクトリ直下に配置します。/Users/<ユーザ名>/fuelPHP

そして、Terminalソフトを使いfuelPHP直下に移動します。

[plain]<br />$cd /Users/&lt;ユーザ名&gt;/fuelPHP<br />[/plain]

パーミッションを設定するために下記のコマンドを入力してください。

[plain]<br />$oil refine install<br />[/plain]

Apacheの設定

Mountain Lionは設定アプリからのApache操作はできませんが、Terminalからコマンドラインで操作することはできます。

まず、Terminalから以下のコマンドを叩いてみます。

[plain]<br />$sudo apachectl start<br />[/plain]

次にtelnetで80ポートを確認します。

[plain]<br />$ telnet localhost 80<br />Trying ::1…<br />Connected to localhost.<br />Escape character is \’^]\’.<br />[/plain]

このように表示されればOKです。一旦Apacheを終了します。

[plain]<br />$sudo apachectl stop<br />[/plain]

次にApacheの設定ファイルを変更します。

PHPの有効化

[plain]<br />$sudo vi /etc/apache2/httpd.conf<br />[/plain]

下記の記述をコメントアウトされているので先頭の\”#\”を削除します。

[plain]<br />#LoadModule php5_module libexec/apache2/libphp5.so<br />[/plain]

Xdebugの指定

php.iniにXdebugの設定を追加します。

[plain]<br />$sudo vi /etc/php.init<br />[/plain]

ファイルの最後に下記を追加してください。

[plain]<br />[xdebug]<br />zend_extension=”/usr/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so”<br />xdebug.remote_enable=1<br />xdebug.remote_port=”9000″<br />xdebug.profiler_enable=1<br />xdebug.profiler_output_dir=”/var/tmp/xdebug”<br />xdebug.max_nesting_level=1000<br />xdebug.idekey = “PHPSTORM”<br />[/plain]

phpinfo()でxdebugが有効になっていることを確認します。

VirtualHost設定

次に仮想ホストの設定をします。

[plain]<br />$ sudo vi /etc/apache2/extra/httpd-vhosts.conf<br />[/plain]

ファイルの最後に以下を追加してください。

[plain]<br /><br />ServerAdmin webmaster@takezou.com<br />ServerName hello.takezou.com<br />DocumentRoot /Users/takeshi.kawai/fuelPHP/public<br /><br />Options Indexes FollowSymLinks MultiViews<br />AllowOverride All<br />Order allow,deny<br />Allow from all<br /><br />ErrorLog /var/log/apache2/hello.takezou.com-error_log<br />CustomLog /var/log/apache2/hello.takezou.com-access_log combined<br /><br />HostnameLookups Off<br />UseCanonicalName Off<br />ServerSignature On<br /><br />[/plain]

編集が終わったらフォーマットチェックします。

[plain]<br />$ sudo apachectl configtest<br />[/plain]

Syntax OKという文字が表示されたらOKです。

hostsファイルの修正

ここでは仮想サーバとしてhello.takezou.comというドメイン名を指定していますが、適宜好きなドメイン名に書き換えてください。そして、そのドメイン名をhostsファイルに登録します。

[plain]<br />$ sudo vi /etc/hosts<br />[/plain]

ファイルの後ろに以下の1行を追加します。

[plain]<br />127.0.0.1       hello.takezou.com<br />[/plain]

hostsファイルを更新したあとはPCを再起動しないと反映されません。ここで一旦Macを再起動してください。

FuelPHP_Framework

ブラウザからhttp://hello.takezou.comにアクセスすると上記のような画面が表示されるはずです。

Forbiddenエラーが発生した場合はfuelPHPディレクトリのパーミッションを確認してください。

PHPStormの設定

次にPHPStormを起動し、メニューのFileからOpen Directoryを選択します。

そして、/Users/<ユーザ名>/fuelPHPを選択してください。

つぎにPreferenceのProject Setting > PHPを選択し、下記のようにphpを指定します。

Settings

Project Settings > PHP > Serversを以下のように設定します。

動作確認

publicディレクトリの下にinfo.phpファイルを作成し、<?php phpinfo(); ?>と書いておきます。

info.php_-_fuelphp_-____fuelphp_-2

そして、phpinfo();箇所でBreakPointを設定しておきます。

PHPStormの画面上部を以下のようにし、虫マークのボタンと受話器のようなボタンを続けてクリックします。

fuelphp_-____fuelphp_

boomarkletの登録

PreferenceのProject Settings > PHP > Debugを選択し、下記の赤枠部分をクリックしてください。

Settings-2

次にブラウザが起動するのでXdebugのGenerateボタンを押し、Start debuggerとStop debuggerのリンクをブックマークに登録します。(リンク部分をブラウザのブックマークメニューにDrag&Dropするのが簡単です)

Zend_Debugger___Xdebug_bookmarklets_generator_for_PhpStorm

ブラウザでhttp://hello.takezou.com/info.phpを開き、Start debuggerをクリックします。(見た目は何も起こりませんが、XDEBUG_SESSIONというCookieが発行されています。)

この状態でブラウザをリロードすると、PHPStormに先ほど設定したブレイクポイントでストップするはずです。(ブレイクポイントでストップすると、下記の画面のようにブレイクポイントの赤いマークにチェックマークが入ります)

info.php_-_fuelphp_-____fuelphp_-2

以上です。

iPhoneアプリ開発エキスパートガイド iOS 6対応 posted with カエレバ 加藤 寛人,藤川 宏之,高丘 知央,西方 夏子,吉田 悠一,関川 雄介 インプレスジャパン 2013-04-04 Amazon楽天市場Yahooショッピング

コメント

タイトルとURLをコピーしました