Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
30
Help us understand the problem. What is going on with this article?
@koriym

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

More than 3 years have passed since last update.

新しい記事「必要な時にのみ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

30
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
koriym
Hello BEAR.Sunday
bengo4
「専門家をもっと身近に」を理念として、人々と専門家をつなぐポータルサイト「弁護士ドットコム」「弁護士ドットコムニュース」「税理士ドットコム」を提供。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
30
Help us understand the problem. What is going on with this article?