@extends('install.layout')
@section('title', __('Requirements'))
@section('step-name', __('Requirements'))
@section('content')
{{ __('Server') }} {{ __('Requirements.') }}
{{ __('Checking your server meets the minimum requirements.') }}
@php
$phpOk = version_compare(PHP_VERSION, '8.2.0', '>=');
$extensions = [];
foreach(['bcmath','ctype','curl','dom','fileinfo','gd','json','mbstring','openssl','pdo','pdo_mysql','tokenizer','xml','zip','imap'] as $ext) {
$extensions[$ext] = extension_loaded($ext);
}
$directories = [];
foreach(['storage','storage/app','storage/framework','storage/logs','bootstrap/cache'] as $dir) {
$directories[$dir] = is_writable(base_path($dir));
}
$allPassed = $phpOk && !in_array(false, $extensions) && !in_array(false, $directories);
@endphp
@if($phpOk)
@else
PHP {{ PHP_VERSION }} — {{ __('Requires 8.2+') }}
@endif
@php $extPassed = count(array_filter($extensions)); $extTotal = count($extensions); @endphp
{{ $extPassed }}/{{ $extTotal }}
@foreach($extensions as $name => $loaded)
{{ $name }}
@if($loaded)
@else
@endif
@endforeach
@php $dirPassed = count(array_filter($directories)); $dirTotal = count($directories); @endphp
{{ $dirPassed }}/{{ $dirTotal }}
@foreach($directories as $path => $writable)
{{ $path }}/
@if($writable)
@else
@endif
@endforeach
@if($allPassed)
@else
{{ __('Please fix the above requirements before continuing.') }}
@endif
@endsection