You are running composer with xdebug enabled. This has a major impact on runtime performance.対策

  • 31
    いいね
  • 6
    コメント

新しい記事「必要な時にのみxdebugをオン」を投稿しました(2017/05/19)


Composer 1.3.0 - https://github.com/composer/composer/blob/1.3.0/CHANGELOG.md

Fixed ext-xdebug not being require-able anymore due to automatic xdebug disabling
自動で無効化されるようになったので、ユーザー側のワークアラウンドはもはや不要になったようです。

以上はコメント欄で@tadsanさんが教えてくれた内容です。
composerでの対策は不要になりましたが、記事の内容はxdebug あり/なしを実行単位で変える時に有効です。

--

xdebugをインストールしたphpでcomposerを使うとパフォーマンスが悪化し(x3-x4)警告が出ます。

マニュアル Xdebug impact on Composerに載っているようにxdebugの読み込みをコメントアウトします。(iniファイルの場所はphp --iniで分かります)

;zend_extension = "/path/to/my/xdebug.so"

ツールの実行はxdebugなしで、phpunitのテストカバレッジやPhpStormではxdebugありでとPHPの実行を使い分けたくなりますが、切り替えをする方法が簡単ではありません。

そこで環境を切り替えるのではなく、実行時に明示的に指定するようにします。

シェル

~/.bash_profile
alias phpx="php -dzend_extension=xdebug.so"
alias phpunitx="phpx $(which phpunit)"

これでphpx, phpunixがそれぞれxdebug付きで実行されます。テストでカバレッジが取れるようになりxdebugなしのphp, phpunitと使い分けができます。

PhpStorm

Language & Frameworks > ... > Advanced > Configuration optionsでdirectiveにzend_extension、値をxdebug.soと設定するとxdebug付きでPHP実行されるようになります。

スクリーンショット 2016-03-08 11.03.09.png