@php use Illuminate\Support\Facades\File; $canProceed = true; @endphp

Requirements

Make sure that all the requirements are met.

Please configure PHP to match following requirements / settings

@php $passed = version_compare(PHP_VERSION, '8.0.2') >= 0; $canProceed = $canProceed && $passed; @endphp !$passed])> @php $passed = ini_get("allow_url_fopen"); $canProceed = $canProceed && $passed; @endphp !$passed])>
PHP Settings Required Current  
PHP Version 8.0.2+ (8.1.0+ Recommended) {{PHP_VERSION}}
allow_url_fopen On {{$passed ? "On" : "Off"}}

Please make sure following extensions are installed and enabled

@php $curl = function_exists("curl_version") ? curl_version() : false; $passed = !empty($curl["version"]) && version_compare($curl["version"], '7.55') >= 0; $canProceed = $canProceed && $passed; @endphp !$passed])> @php $openssl = extension_loaded('openssl'); if ($openssl && !empty(OPENSSL_VERSION_NUMBER)) { $installed_openssl_version = get_openssl_version_number(OPENSSL_VERSION_NUMBER); } $passed = !empty($installed_openssl_version) && $installed_openssl_version >= "1.0.2k"; $canProceed = $canProceed && $passed; @endphp !$passed])> @php $passed = defined('PDO::ATTR_DRIVER_NAME'); $canProceed = $canProceed && $passed; @endphp !$passed])> @php $passed = function_exists('mysqli_connect'); $canProceed = $canProceed && $passed; @endphp !$passed])> @php $passed = extension_loaded('gd') && function_exists('gd_info'); $canProceed = $canProceed && $passed; @endphp !$passed])> @php $passed = extension_loaded('mbstring') && function_exists('mb_get_info'); $canProceed = $canProceed && $passed; @endphp !$passed])> @php $passed = extension_loaded('json') && function_exists('json_decode'); $canProceed = $canProceed && $passed; @endphp !$passed])> @php $passed = extension_loaded('xml') && class_exists('DOMDocument'); $canProceed = $canProceed && $passed; @endphp !$passed])> @php $passed = function_exists('exif_read_data'); $canProceed = $canProceed && $passed; @endphp !$passed])>
Name Required Current  
cURL 7.55.0+ {{!empty($curl["version"]) ? $curl["version"] : "Not installed"}}
OpenSSL 1.0.2k+ {{!empty($installed_openssl_version) ? $installed_openssl_version : "Outdated or not installed"}}
PDO On {{$passed ? "On" : "Off"}}
mysqli On {{$passed ? "On" : "Off"}}
GD On {{$passed ? "On" : "Off"}}
mbstring On {{$passed ? "On" : "Off"}}
json On {{$passed ? "On" : "Off"}}
xml On {{$passed ? "On" : "Off"}}
EXIF On {{$passed ? "On" : "Off"}}

Please make sure following files and directories (including subdirectories) are writable

@php $passed = File::isWritable(base_path('.env')); $canProceed = $canProceed && $passed; @endphp !$passed])> @php $passed = File::isWritable(base_path('bootstrap/cache')); $canProceed = $canProceed && $passed; @endphp !$passed])> @php $passed = File::isWritable(public_path()); $canProceed = $canProceed && $passed; @endphp !$passed])> @php $passed = File::isWritable(storage_path()); $canProceed = $canProceed && $passed; @endphp !$passed])> @php $passed = File::isWritable(storage_path('/app')); $canProceed = $canProceed && $passed; @endphp !$passed])> @php $passed = File::isWritable(storage_path('/app/config')); $canProceed = $canProceed && $passed; @endphp !$passed])> @php $passed = File::isWritable(storage_path('/app/public')); $canProceed = $canProceed && $passed; @endphp !$passed])> @php $passed = File::isWritable(storage_path('/framework/cache')); $canProceed = $canProceed && $passed; @endphp !$passed])> @php $passed = File::isWritable(storage_path('/framework/sessions')); $canProceed = $canProceed && $passed; @endphp !$passed])> @php $passed = File::isWritable(storage_path('/framework/views')); $canProceed = $canProceed && $passed; @endphp !$passed])> @php $passed = File::isWritable(storage_path('/logs')); $canProceed = $canProceed && $passed; @endphp !$passed])> @php $passed = File::isWritable(base_path('/themes/config.json')); $canProceed = $canProceed && $passed; @endphp !$passed])>
Directory/File  
/.env
/bootstrap/cache
{{'/'.basename(public_path())}}
/storage
/storage/app
/storage/app/config
/storage/app/public
/storage/framework/cache
/storage/framework/sessions
/storage/framework/views
/logs
/themes/config.json

Please make sure following files have correct permissions

@php $permissions = fileperms(public_path('index.php')); $passed = $permissions >= 0644; $canProceed = $canProceed && $passed; @endphp !$passed])> @php $permissions = fileperms(base_path('artisan')); $passed = $permissions >= 0755; $canProceed = $canProceed && $passed; @endphp !$passed])>
File Recommended Current  
/{{basename(public_path())}}/index.php 0644 {{substr(sprintf('%o', $permissions), -4)}}
/artisan 0755 {{substr(sprintf('%o', $permissions), -4)}}
Back @if($canProceed) Continue @endif