0
0

More than 1 year has passed since last update.

【Laravel】PHPバージョンアップ後にphp.iniを確認する

Posted at

詰まったこと

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が通った

0
0
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
0
0