今回は半分やらかし話なのですが、個人的に盲点だと思ったので記事にしたいと思います。
自分の開発用PCにはIDEのIntelisenseやComposer用にPHPをインストールしてあります。
先日、新しいWebアプリの開発のためにWindows用パッケージマネージャーのChocolateyを使用してPHPバージョンを変更し、Composerを実行しようとしたところ、opensslが使用できないといったエラーが発生し、Composerが使えない問題が起こりました。
[Composer\Exception\NoSslException]
The openssl extension is required for SSL/TLS protection but is not available. If you can not enable the openssl extension, you can disable this error, at your own risk, by setting the 'disable-tls' option
to true.
この辺りは以前に設定してあったので使えないのは疑問だったのですが、php.iniの中身を確認した際に納得がいきました。
本来、PHPの拡張機能を有効にする場合は、拡張モジュール(Extension)のファイルのパスをphp.iniファイル内に記述しておかないと読み込まれません。
今回、PHPを入れ替えた際にどうやらこの設定ファイルも初期化されてしまっていたようで、今回はこちらが原因でした。
ということで、php.ini内の
extension=openssl
の記述を有効にして再度実行すると…
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | Generating optimized autoload files ocramius/package-versions: Generating version class... ocramius/package-versions: ...done generating version class > Illuminate\Foundation\ComposerScripts::postAutoloadDump > @php artisan package:discover --ansi Discovered Package: appointer/swaggervel Discovered Package: barryvdh/laravel-dompdf Discovered Package: barryvdh/laravel-ide-helper Discovered Package: beyondcode/laravel-dump-server Discovered Package: facade/ignition Discovered Package: fideloper/proxy Discovered Package: grimzy/laravel-mysql-spatial Discovered Package: infyomlabs/laravel-generator Discovered Package: itsgoingd/clockwork Discovered Package: krlove/eloquent-model-generator Discovered Package: laracasts/flash Discovered Package: laravel/dusk Discovered Package: laravel/tinker Discovered Package: laravel/ui Discovered Package: maatwebsite/excel Discovered Package: molay76/laravel-mysql2plantuml Discovered Package: mpociot/laravel-test-factory-helper Discovered Package: nesbot/carbon Discovered Package: nexmo/laravel Discovered Package: nunomaduro/collision Discovered Package: nunomaduro/phpinsights Discovered Package: ucan-lab/laravel-dacapo Package manifest generated successfully. |
ばっちり動作しました!
最近Windows上で使っているPHPが突然動かなくなった…
という方は、まずは設定周りを見回してみるよ良いかもしれません。