@@ -163,34 +163,36 @@ protected function getScript($request)
163163 {
164164 $ kernel = str_replace ("' " , "\\' " , serialize ($ this ->kernel ));
165165 $ request = str_replace ("' " , "\\' " , serialize ($ request ));
166+ $ errorReporting = error_reporting ();
166167
167- $ r = new \ReflectionObject ($ this ->kernel );
168+ $ requires = '' ;
169+ foreach (get_declared_classes () as $ class ) {
170+ if (0 === strpos ($ class , 'ComposerAutoloaderInit ' )) {
171+ $ r = new \ReflectionClass ($ class );
172+ $ file = dirname (dirname ($ r ->getFileName ())).'/autoload.php ' ;
173+ if (file_exists ($ file )) {
174+ $ requires .= "require_once ' " .str_replace ("' " , "\\' " , $ file )."'; \n" ;
175+ }
176+ }
177+ }
168178
169- $ autoloader = dirname ($ r ->getFileName ()).'/autoload.php ' ;
170- if (is_file ($ autoloader )) {
171- $ autoloader = str_replace ("' " , "\\' " , $ autoloader );
172- } else {
173- $ autoloader = '' ;
179+ if (!$ requires ) {
180+ throw new \RuntimeException ('Composer autoloader not found. ' );
174181 }
175182
176- $ path = str_replace ("' " , "\\' " , $ r -> getFileName ());
183+ $ requires .= " require_once ' " . str_replace ("' " , "\\' " , ( new \ ReflectionObject ( $ this -> kernel ))-> getFileName ()). " '; \n" ;
177184
178185 $ profilerCode = '' ;
179186 if ($ this ->profiler ) {
180187 $ profilerCode = '$kernel->getContainer()->get( \'profiler \')->enable(); ' ;
181188 }
182189
183- $ errorReporting = error_reporting ();
184-
185190 $ code = <<<EOF
186191<?php
187192
188193error_reporting( $ errorReporting);
189194
190- if (' $ autoloader') {
191- require_once ' $ autoloader';
192- }
193- require_once ' $ path';
195+ $ requires
194196
195197\$kernel = unserialize(' $ kernel');
196198\$kernel->boot();
0 commit comments