LoginSignup
1
1

More than 5 years have passed since last update.

Visual Studio Code で PHPDebug を利用するために anyenv + phpenv で環境構築する手順

Posted at

Visual Code Studio で PHPDebug を利用するには PHP7 を入れておく必要があるのですが、ローカルでバージョンを振り分けられるようにしたかったので anyenv からインストールしていこうと思ったらハードルが想定外に高かったのでまとめました。

この記事で書かれていること

  • anyenv から PHP7 をインストールするまでの流れ

この記事で割愛されていること

  • anyenvの説明
  • phpenvの説明
  • homebrewの説明、利用方法

Visual Studio Code でPHPコードのデバッグをするまでに必要な手順。

anyenv

$ git clone https://github.com/riywo/anyenv ~/.anyenv
$ echo 'export PATH="$HOME/.anyenv/bin:$PATH"' >> ~/.your_profile
$ echo 'eval "$(anyenv init -)"' >> ~/.your_profile
$ exec $SHELL -l

phpenv

$ anyenv install phpenv

注意点は、php-builidとphpenv-composerも一緒にインストールされること。場所は以下の通り。

~/.anyenv/envs/phpenv/plugins

インストールできるPHPバージョンを確認。

$ phpenv install --list

インストールするために必要なものを入れておく。

$ brew install openssl libxml2 mcrypt gcc re2c libmcrypt autoconf automake libiconv

ちゃんとインストールされているか確認。ここはopenssl、libxml2、mcryptを対象に。

$ echo -e "--with-openssl=$(brew --prefix openssl)\n--with-libxml-dir=$(brew --prefix libxml2)\n--with-mcrypt=$(brew --prefix mcrypt)"
--with-openssl=/usr/local/opt/openssl
--with-libxml-dir=/usr/local/opt/libxml2
--with-mcrypt=/usr/local/opt/mcrypt

rbenv

Ruby 2.3 が必要だと言われるのでインストール。ruby-buildも一緒にインストールされる。

$ anyenv install rbenv
$ exec $SHELL -l
$ rbenv install 2.3.5

ビルドオプションを利用してphpenvからインストールしてみる

PHP_BUILD_CONFIGURE_OPTS="--with-openssl=$(brew --prefix openssl) --with-libxml-dir=$(brew --prefix libxml2)" PHP_BUILD_EXTRA_MAKE_ARGUMENTS=-j4 phpenv install 7.0.24

しかし以下のエラーでインストールできない。

ld: file not found: /usr/lib/system/libsystem_darwin.dylib for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Xcodeのバグらしい

以下の記事を参考にして対処。
https://qiita.com/mk2/items/932105d0633feb2f3d37

サンプルの10.12を10.13に変更して実行。

sudo /usr/bin/sed -i.backup -E -e 's@/usr/lib/system/libsystem_symptoms.dylib(, )?@@' \
$(grep -ril /usr/lib/system/libsystem_symptoms.dylib \
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/lib)

しかし改善せず。

さらに調べて参考を発見。こちらの対処方法を試してみる。
https://qiita.com/grohiro/items/a5f2ccd8a4c8ca8ac7d8

最終のphpenvによるインストールコマンド

すごいことになった。

$ PHP_BUILD_CONFIGURE_OPTS="--with-openssl=$(brew --prefix openssl) --with-libxml-dir=$(brew --prefix libxml2)" PHP_BUILD_EXTRA_MAKE_ARGUMENTS=-j4 LDFLAGS="-L/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/lib/system" phpenv install 7.0.24
1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1