2016-01-08 9 views
8

प्रक्रियाओं 5.1, से Laravel 5.2 पर अपग्रेड करने के बाद जब CircleCI पर कारीगर का अनुकूलन चल, पीएचपी 5.6.14 चल रहा है, मैं हो रही हैLaravel 5.2 कारीगर का अनुकूलन - php_strip_whitespace स्ट्रीम को खोलने में विफल: कोई बच्चा

[ErrorException]                     
php_strip_whitespace(/var/laravel/project/root): failed to open stream: No child processes 

जहां /var/laravel/project/root वह निर्देशिका है जहां composer.json और विक्रेता रहते हैं।

कमांड मेरे dev बॉक्स पर चल रहा है PHP 5.6.11-1ubuntu3.1 चल रहा है। मैंने आधिकारिक 5.1 से 5.2 अपग्रेड गाइड का पालन किया।

Exception trace: 
() at /var/laravel/project/root/vendor/classpreloader/classpreloader/src/ClassPreloader.php:124 
Illuminate\Foundation\Bootstrap\HandleExceptions->handleError() at n/a:n/a 
php_strip_whitespace() at /var/laravel/project/root/vendor/classpreloader/classpreloader/src/ClassPreloader.php:124 
ClassPreloader\ClassPreloader->getCode() at /var/laravel/project/root/vendor/laravel/framework/src/Illuminate/Foundation/Console/OptimizeCommand.php:83 
Illuminate\Foundation\Console\OptimizeCommand->compileClasses() at /var/laravel/project/root/vendor/laravel/framework/src/Illuminate/Foundation/Console/OptimizeCommand.php:64 
Illuminate\Foundation\Console\OptimizeCommand->fire() at n/a:n/a 
call_user_func_array() at /var/laravel/project/root/bootstrap/cache/compiled.php:1217 
Illuminate\Container\Container->call() at /var/laravel/project/root/vendor/laravel/framework/src/Illuminate/Console/Command.php:169 
Illuminate\Console\Command->execute() at /var/laravel/project/root/vendor/symfony/console/Command/Command.php:256 
Symfony\Component\Console\Command\Command->run() at /var/laravel/project/root/vendor/laravel/framework/src/Illuminate/Console/Command.php:155 
Illuminate\Console\Command->run() at /var/laravel/project/root/vendor/symfony/console/Application.php:787 
Symfony\Component\Console\Application->doRunCommand() at /var/laravel/project/root/vendor/symfony/console/Application.php:186 
Symfony\Component\Console\Application->doRun() at /var/laravel/project/root/vendor/symfony/console/Application.php:117 
Symfony\Component\Console\Application->run() at /var/laravel/project/root/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php:107 
Illuminate\Foundation\Console\Kernel->handle() at /var/laravel/project/root/artisan:36 

इस पर कोई विचार है कि मैं इसे कैसे हल कर सकता हूं?

+0

त्रुटि दिखाई देती है यो वर्ग लोडर/अनुकूलक एक वर्ग/फ़ाइल जो मौजूद नहीं है लोड करने की कोशिश के साथ कुछ किया जाना है। आपके द्वारा जोड़े गए किसी भी वर्ग के लिए अपनी कॉन्फ़िगरेशन/app.php की जांच करने का प्रयास करें। संगीतकार ऑटो लोड को डंपिंग करने का भी प्रयास करें। – RCrowt

+0

जहां आप इसे हल करने में सक्षम हैं? –

+0

@RCrowt मैंने https://raw.githubusercontent.com/laravel/laravel/master/config/app.php से डिफ़ॉल्ट कॉन्फ़िगरेशन/app.php का उपयोग करने का प्रयास किया है लेकिन कोई भाग्य नहीं है। हां, मैंने संगीतकार डंप-ऑटोलोड को आजमाया है, फिर से कोई भाग्य नहीं। –

उत्तर

8

मुझे https://laracasts.com/discuss/channels/laravel/laravel-optimize-error पर उत्तर मिला जहां जॉनहेल का उल्लेख है कि config/compile.php गलत है।

ऐसा लगता है कि फ़ाइलें config/compile.php में सरणी में खाली कर दिया गया था अप्रैल 2015 में प्रतिबद्ध है, लेकिन मैं परिवर्तन अपग्रेड मार्गदर्शिका में उल्लेख नहीं देख सकते हैं। इसे बाद में अपग्रेड गाइड में जोड़ा गया है। में

  • खाली फ़ाइलों सरणी config/compile.php

या

  • config/compile.php में BusServiceProvider.php और ConfigServiceProvider.php निकालें फ़ाइलें सरणी से:

    समस्या या तो ठीक करने के लिए।

+0

है, तो दस्तावेज़ों में इसे जोड़ने के लिए पहले से ही पीआर है। https://github.com/laravel/docs/pull/2056 –

+0

मैं पुष्टि करता हूं कि यह समस्या को हल करता है –

+0

फ़ाइलें सरणी को खाली न करें। बस दो गायब प्रदाताओं के साथ लाइन को हटा दें। – mniess

0

इस त्रुटि के लिए कारण BusServiceProvider और ConfigServiceProvider 5.1 5.2 के लिए संक्रमण के भाग के रूप, हटा दिया गया है है। यद्यपि सभी संकलित कक्षाओं को निकालने के लिए प्रदान किया गया उत्तर समस्या को ठीक करेगा, केवल और ConfigServiceProviderconfig/compile.php से निकालने की आवश्यकता है।

'files' => [ realpath(__DIR__.'/../app/Providers/AppServiceProvider.php'), realpath(__DIR__.'/../app/Providers/BusServiceProvider.php'), // This one realpath(__DIR__.'/../app/Providers/ConfigServiceProvider.php'), // And this one realpath(__DIR__.'/../app/Providers/EventServiceProvider.php'), realpath(__DIR__.'/../app/Providers/RouteServiceProvider.php'), ],

+0

ConfigServiceProvider को भी हटा दिया गया है। लार्वेल 5.2 में डिफ़ॉल्ट भी फाइल सरणी खाली है। Https://github.com/laravel/laravel/blob/master/config/compile.php देखें। –

+0

@ डेवसोथी सहमत (अद्यतन उत्तर), हालांकि आप अभी भी शेष वस्तुओं को रखकर संकलन से लाभ उठा सकते हैं :)। लार्वेल ने [अपने अपग्रेड डॉक्स को अपडेट किया है] (https://laravel.com/docs/5.2/upgrade) और अब केवल उपरोक्त दो आइटमों को हटाने का उल्लेख करें। – Matt

+0

यदि यह अनुशंसित समाधान है तो लार्वेल 5.2 में डिफ़ॉल्ट सरणी क्यों है? Http://github.com/laravel/laravel/blob/master/config/compile.php देखें –

संबंधित मुद्दे