@@ -96,22 +96,29 @@ protected function getScript($request)
96
96
{
97
97
$ kernel = str_replace ("' " , "\\' " , serialize ($ this ->kernel ));
98
98
$ request = str_replace ("' " , "\\' " , serialize ($ request ));
99
-
100
- $ r = new \ReflectionClass ('\\Symfony \\Component \\ClassLoader \\ClassLoader ' );
101
- $ requirePath = str_replace ("' " , "\\' " , $ r ->getFileName ());
102
- $ symfonyPath = str_replace ("' " , "\\' " , dirname (dirname (dirname (__DIR__ ))));
103
99
$ errorReporting = error_reporting ();
104
100
101
+ $ requires = '' ;
102
+ foreach (get_declared_classes () as $ class ) {
103
+ if (0 === strpos ($ class , 'ComposerAutoloaderInit ' )) {
104
+ $ r = new \ReflectionClass ($ class );
105
+ $ file = dirname (dirname ($ r ->getFileName ())).'/autoload.php ' ;
106
+ if (file_exists ($ file )) {
107
+ $ requires .= "require_once ' " .str_replace ("' " , "\\' " , $ file )."'; \n" ;
108
+ }
109
+ }
110
+ }
111
+
112
+ if (!$ requires ) {
113
+ throw new \RuntimeException ('Composer autoloader not found. ' );
114
+ }
115
+
105
116
$ code = <<<EOF
106
117
<?php
107
118
108
119
error_reporting( $ errorReporting);
109
120
110
- require_once ' $ requirePath';
111
-
112
- \$loader = new Symfony\Component\ClassLoader\ClassLoader();
113
- \$loader->addPrefix('Symfony', ' $ symfonyPath');
114
- \$loader->register();
121
+ $ requires
115
122
116
123
\$kernel = unserialize(' $ kernel');
117
124
\$request = unserialize(' $ request');
0 commit comments