詰まったこと
AzureにLaravelをデプロイする準備をしている中、ローカル開発環境のLaravelは7.2.1を使っているのにAzureのAppServiceの設定をPHP8.0.1にしてしまったので、ローカルもPHP8.0.1にあげた。
conposer.jsonと環境変数を変えて、いざcomposer updateを実行して出たエラーに時間を取られたので最終的な解決方法メモ
composer update
[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 8.0.1
Laravel Framework 6.18.43
MAMP利用
設定ファイルを確認
Laravelのconposer.jsonでPHPバージョンを8.0.1を見るように変更
"require": {
"php": "^8.0",
===省略===
"config": {
"optimize-autoloader": true,
"preferred-install": "dist",
"sort-packages": true,
"platform": {
"php": "8.0.1"
}
},
phpinfo()を見るといいという記事が多かったので、パスを確認してその場所に置いてあったphp.iniのextentionのコメントアウトを解除したりしてサービス再起動。
でもエラーは変わらない…
extension_dir = "ext
~~~
extension=openssl
php.iniの配置場所が間違ていた
色々な記事でも「php.ini-developerが~」と言われていたが、php.iniを見に行っていた先がphpinfo()と異なっていた。
phpinfo()で見ていたフォルダ ⇒C:\MAMP\conf\php8.0.1\php.ini
実際に配置して直ったパス ⇒C:\MAMP\bin\php\php8.0.1
C:\MAMP\bin\php\php8.0.1内にあるphp.ini-developerをコピーして同フォルダ内に配置。
名前を「php.ini」に変えて必要なextensionのコメントを外して再起動するとcomposer updateが通った