開発

2016.06.14

ローカル環境での開発時の小技集

こんにちは。エンジニアのシモダです。

最近個人的にやっているローカル環境での小技集をまとめました。

 

ローカル環境をチーム内で公開する

  • 管理画面を作成→運用チームに使用感を確認
  • API実装→クライアント開発チームへ動作確認

などなど、ちゃちゃっと作ったものをささーっと確認してもらう、のサイクルをできるだけ早く回すために、

同一LAN内でのグローバルIPを常に取得しておいて、ローカルサーバ起動時に常にバインドしてます。

以下はmacの場合のコマンドですが、.bashrcなどで環境変数へセットしています。

export GLOBAL_IP=$(/sbin/ifconfig en1 | grep "inet " | cut -f 2 -d " ")
$ echo $GLOBAL_IP # 確認
127.0.5.32 # 表示されたらOK

 

弊社では主にsymfonyをメインフレームワークとして使っているので、

サーバ起動時に指定したhost:portにバインドして起動することができます。

$ php app/console server:run $GLOBAL_IP:8000

 debugツールを整える

僕は主に以下の2つを利用しています。

  • PsySh REPLやブレークポイントとして起動できるインタラクティブシェル
  • Chrome logger var_dumpの代わりにChromeのコンソールから変数の中身を確認できるツール

導入は上記記事を参考にしてほしいのですが、それぞれrequireする必要があるので、

php.iniでauto_prepend_fileの設定を追加し、それぞれ読み込んでいます。

;php.ini
auto_prepend_file = /path/to/auto_prepended_file.php
//auto_prepended_file.php
<?php
// for ChromePhp
require '/path/to/ChromePhp.php';

// for PsySH
require '/path/to/composer/vendor/autoload.php';

 

現在、最新のPsySHをデバッガとして使用したい場合、

Symfonyサーバの起動はちょっとコツがいります。

 

-vオプションをつければすぐわかるのですが、server:runコマンドはphp -S コマンドのエイリアスなので、

そちらを直接起動してあげればうまくいくはず。

 

cd /path/to/project_root/web && php -S $GLOBAL_IP:8000 ../vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Resources/config/router_dev.php -vvv

ここまで長いとさすがに覚えきれないので、こちらも.bashrcでコマンドにしてしまっています。

# alias symfony server run
function run() {
    echo 'cd web && php -S $GLOBAL_IP:8000 ../vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Resources/config/router_dev.php' -vvv
    cd /path/to/project_root/web && php -S $GLOBAL_IP:8000 ../vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Resources/config/router_dev.php -vvv
}
Share on FacebookTweet about this on TwitterShare on Google+Share on Tumblr

この記事を書いた人

staff エンジニア:下田敬祐
一覧に戻る

[ WANTED! ]

共に地方を創る仲間を、随時募集中です