- Visual Studio Code
- phpbrew
- php7.1.4
という感じで最近PHPの開発を行い始めたのですが、Visual Studio Codeの拡張機能PHP intelliseseがどうやらエラーになり全然機能してくれない状態に。
ログを見ると undefined function hogehoge
みたいなエラーがたくさん出ていました。
最初に出ていたエラーが undefined function AdvancedJsonRpc\json_decode
となっていたので明らかにおかしい。phpbrew、お前か。
$ php -m
を実行し、インストールされているモジュールを確認したところやはりjson
関連のモジュールが入っていませんでした。という訳でインストール。
$ phpbrew ext install json
よっしゃーこれで解決!と思ったら、他にも足りないモジュールがあるようでまたエラーが…
結局json
以外にctype
、filter
の二つも追加でインストールする必要があったのでインストールを実行。
$ phpbrew ext install ctype
$ phpbrew ext install filter
モジュール群を再度確認。
ryosukes ~ $ php -m
[PHP Modules]
Core
ctype
date
dom
filter
json
libxml
openssl
pcre
Phar
Reflection
session
SimpleXML
SPL
standard
tokenizer
xml
xmlreader
xmlwriter
xsl
zlib
[Zend Modules]
VS Codeを再起動し解決。快適になりました。
追記
コメントにてご指摘ただきましたが、phpbrewでインストールする際、#variantsの指定がなかったため、個人環境に標準的なモジュールが入っていなかったようでした。
なので、phpbrewでphpをインストールする際には標準的なモジュールを入れてくれる +default
というvariantを指定してインストールし直してやればよりよくなります。
$ phpbrew remove php-7.1.4
$ phpbrew install 7.1.4 +default
公式で推奨されてますね。
https://github.com/phpbrew/phpbrew#starting-building-your-own-php