3
3
use Illuminate \Contracts \Http \Kernel ;
4
4
use Illuminate \Http \Request ;
5
5
6
- define ( ' LARAVEL_START ' , microtime ( true ) );
6
+ $ installing_file_exists = file_exists ( __DIR__ . ' /INSTALLING ' );
7
7
8
- /*
9
- |--------------------------------------------------------------------------
10
- | Check If Application Is Under Maintenance
11
- |--------------------------------------------------------------------------
12
- |
13
- | If the application is maintenance / demo mode via the "down" command we
14
- | will require this file so that any prerendered template can be shown
15
- | instead of starting the framework, which could cause an exception.
16
- |
17
- */
8
+ if ($ installing_file_exists ) {
9
+ $ required_extensions = array ('bcmath ' , 'ctype ' , 'curl ' , 'dom ' , 'fileinfo ' , 'json ' , 'mbstring ' , 'openssl ' , 'pcre ' , 'pdo ' , 'tokenizer ' , 'xml ' );
18
10
19
- if (file_exists (__DIR__ .'/storage/framework/maintenance.php ' )) {
20
- require __DIR__ .'/storage/framework/maintenance.php ' ;
11
+ foreach ($ required_extensions as $ ext ) {
12
+ if (!extension_loaded ($ ext )) {
13
+ throw new Exception ('PHP extension ' . $ ext . ' is not installed on your system ' );
14
+ }
15
+ }
21
16
}
22
-
23
- /*
24
- |--------------------------------------------------------------------------
25
- | Register The Auto Loader
26
- |--------------------------------------------------------------------------
27
- |
28
- | Composer provides a convenient, automatically generated class loader for
29
- | this application. We just need to utilize it! We'll simply require it
30
- | into the script here so we don't need to manually load our classes.
31
- |
32
- */
33
-
34
- require __DIR__ .'/vendor/autoload.php ' ;
35
-
36
- /*
37
- |--------------------------------------------------------------------------
38
- | Run The Application
39
- |--------------------------------------------------------------------------
40
- |
41
- | Once we have the application, we can handle the incoming request using
42
- | the application's HTTP kernel. Then, we will send the response back
43
- | to this client's browser, allowing them to enjoy our application.
44
- |
45
- */
46
-
47
- $ app = require_once __DIR__ .'/bootstrap/app.php ' ;
48
-
49
- $ kernel = $ app ->make (Kernel::class);
50
-
51
- $ response = tap ($ kernel ->handle (
52
- $ request = Request::capture ()
53
- ))->send ();
54
-
55
- $ kernel ->terminate ($ request , $ response );
17
+
18
+ define ('LARAVEL_START ' , microtime (true ));
19
+
20
+ /*
21
+ |--------------------------------------------------------------------------
22
+ | Check If Application Is Under Maintenance
23
+ |--------------------------------------------------------------------------
24
+ |
25
+ | If the application is maintenance / demo mode via the "down" command we
26
+ | will require this file so that any prerendered template can be shown
27
+ | instead of starting the framework, which could cause an exception.
28
+ |
29
+ */
30
+
31
+ if (file_exists (__DIR__ .'/storage/framework/maintenance.php ' )) {
32
+ require __DIR__ .'/storage/framework/maintenance.php ' ;
33
+ }
34
+
35
+ /*
36
+ |--------------------------------------------------------------------------
37
+ | Register The Auto Loader
38
+ |--------------------------------------------------------------------------
39
+ |
40
+ | Composer provides a convenient, automatically generated class loader for
41
+ | this application. We just need to utilize it! We'll simply require it
42
+ | into the script here so we don't need to manually load our classes.
43
+ |
44
+ */
45
+
46
+ require __DIR__ .'/vendor/autoload.php ' ;
47
+
48
+ /*
49
+ |--------------------------------------------------------------------------
50
+ | Run The Application
51
+ |--------------------------------------------------------------------------
52
+ |
53
+ | Once we have the application, we can handle the incoming request using
54
+ | the application's HTTP kernel. Then, we will send the response back
55
+ | to this client's browser, allowing them to enjoy our application.
56
+ |
57
+ */
58
+
59
+ $ app = require_once __DIR__ .'/bootstrap/app.php ' ;
60
+
61
+ $ kernel = $ app ->make (Kernel::class);
62
+
63
+ $ response = tap ($ kernel ->handle (
64
+ $ request = Request::capture ()
65
+ ))->send ();
66
+
67
+ $ kernel ->terminate ($ request , $ response );
68
+
0 commit comments