2012-09-19 15 views
6

पर त्रुटि नहीं मिली है मैं सिलेक्स का उपयोग कर एक प्रोजेक्ट पर काम कर रहा हूं। एक विशेष फ़ाइल में, मैंने use कथन जोड़ा है ताकि ऑटोलोडर में एक विशेष php फ़ाइल शामिल हो। बाद में फ़ाइल में, मैं उस वर्ग का उपयोग करता हूं। सभी विकास सर्वर पर अच्छी तरह से हैं, लेकिन जब मैं उत्पादन में जाता हूं, तो मुझे Fatal error: Class not found संदेश मिलता है। संपादित करें: दोनों सर्वर अब PHP 5.4.4 का उपयोग करते हैं।कक्षा केवल उत्पादन सर्वर

क्या कोई ऐसी स्थापना विशिष्ट समस्याएं हैं जो इसका कारण बन सकती हैं? मैं पुष्टि कर सकता हूं कि संगीतकार द्वारा उत्पन्न दोनों नामस्थान ऑटोलोड लोड समान हैं।

:

$app['instaphp'] = $app->share(function() use ($app) { 
      if($app['tagframe.instagram_token'] === null) { 
       return Instaphp\Instaphp::Instance(); 
      } else { 
       return Instaphp\Instaphp::Instance($app['tagframe.instagram_token']); 
      } 
     }); 

     $app['instaphp.config'] = $app->share(function() use ($app) { 
      return Instaphp\Config::Instance(); 
     }); 

यहाँ सटीक त्रुटि है:

use Instaphp; 

यहाँ बाद में कोड में वर्ग का उपयोग है:

बस पूर्णता की खातिर

, यहाँ शामिल बयान है

Fatal error: Class 'Instaphp\Config' not found in /var/www/silexsandbox/src/TagFrame/Silex/TagFrameServiceProvider.php on line 89 

अद्यतन: मुझे यह जोड़ना चाहिए कि मैंने कहीं भी ऐसी त्रुटियों का अनुभव नहीं किया है एज कोड बेस मैं काम कर रहा हूं, इसलिए मुझे पता है कि यह उतना आसान नहीं है जितना कि सभी नेमस्पेस काम नहीं कर रहे हैं।

+0

मई मामूली हो सकता है, लेकिन क्या आप सुनिश्चित हैं कि आपने उत्पादन सर्वर पर विक्रेताओं (या नवीनतम परिवर्तन के बाद अपडेट किया गया है) स्थापित किया है? – Maerlyn

+0

क्या आप PHP-FPM चला रहे हैं? शायद एपीसी सक्षम के साथ? क्या आप एफपीएम कर्मचारियों को पुनः लोड करने का प्रयास कर सकते हैं? – igorw

उत्तर

5

डिफ़ॉल्ट रूप से, मैक एक जर्नल केस-असंवेदनशील फाइल सिस्टम का उपयोग करता है। लिनक्स, आपके स्वाद के आधार पर, ज्यादातर केस-संवेदी है। यह निश्चित रूप से ऊपर वर्णित व्यवहार में परिणाम देगा।

मैं सुझाव दूंगा कि आप अपने मैक पर दूसरा विभाजन बनाएं और इसे प्रारूपित केस-सेंसिटिव के रूप में प्रारूपित करें, जो आपके उत्पादन वातावरण के करीब है।

+1

आप वास्तव में ओएसएक्स पर केस संवेदनशील मोड में एक और विभाजन प्रारूपित कर सकते हैं, लेकिन ऐसा लगता है कि आपके ओएस विभाजन के लिए कुछ अनुप्रयोगों की सिफारिश नहीं की जा रही है क्योंकि कुछ एप्लिकेशन बस चलाने में असफल हो जाएंगे। पूर्व: फ़ोटोशॉप https://helpx.adobe.com/creative-suite/kb/error-case- संवेदनशील-drives-supported.html शायद इस विचार की तरह एक अन्य विभाजन होना ठीक है :) – GabLeRoux

4

टिप्पणियों के लिए धन्यवाद। मैंने यह सुनिश्चित किया कि मैंने संगीतकार का उपयोग करके अपडेट किया ताकि ऑटोलोडर को डंप किया गया हो।

समस्या (जैसा कि मैंने झुकाव के घंटों के बाद पाया) यह था कि तीसरे पक्ष की लाइब्रेरी के लिए निर्देशिका संरचना मैं (इंस्टाफ) का उपयोग कर रहा था। इसने मेरे मैक को कोई समस्या नहीं दी, लेकिन उत्पादन सर्वर उबंटू चला रहा है, जो मुझे लगता है कि केस-संवेदी फ़ाइल हैंडलिंग यूटिलिटीज का उपयोग करता है जहां मैक नहीं करता है।

मैं इस पर एक रात बिताने के लिए पूरी तरह से लात मार रहा हूं!

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