अल्पाइन लिनक्स पर अपाचे के साथ PHP कोडनिर्देशक

मैंने एक छोटा कोडिनेटर परीक्षण ऐप लिखा है जो वर्तमान में मेरे विंडोज़ बॉक्स पर चल रहा है। मैंने एक लिनक्स वीएम बनाया है और इस नए वर्चुअल सर्वर पर ऐप इंस्टॉल करने का प्रयास किया है। मेरा कुछ वेब ऐप ठीक से चल रहा है लेकिन अन्य भागों, नहीं। विशेष रूप से, यह काम करता है:

 http://123.123.123.123/myapp/controller1/

लेकिन यह नहीं करता है:

 http://123.123.123.123/myapp/controller2/mymethod/1/2/3

यह एक त्रुटि के साथ विफल रहता है कि यह नियंत्रक 2_model लोड नहीं कर सकता है।

असफल होने वाले नियंत्रक के लिए वास्तविक कोड यहां दिया गया है (इसे वास्तव में xferLogger बनाम नियंत्रक 2 कहा जाता है):

 class xferLogger extends CI_Controller { 
      public function __construct() { 
              parent::__construct();
              echo(2); 
              $this->load->model('xferLogger_model'); 
              $this->load->helper('date'); //this library is needed for the base_url() method that is being called in the view "result.php" 
              $this->load->helper('url'); 
      } 

और यहां मॉडल है:

class xferLogger_model extends CI_Model { 
    public function __construct() { 
              $this->load->database();
                } 

पूर्ण त्रुटि संदेश है: एक त्रुटि आई। आपके द्वारा निर्दिष्ट मॉडल का पता लगाने में असमर्थ: xferlogger_model।

मैंने देखा कुछ ऐसा है। त्रुटि संदेश में, आप देखेंगे कि लॉगर में "एल" लोअरकेस है। लेकिन मेरे कोड में, यह एक राजधानी एल है। मैंने अपने नियंत्रक, मॉडल स्वयं, और routes.php फ़ाइल में भी जांच की है। मुझे अपने आवरण के साथ कोई समस्या नहीं लग रही है।

??

0
जोड़ा संपादित
विचारों: 1
क्या आप अपना कोड पोस्ट कर सकते हैं जहां आप मॉडल को आजमाते हैं और लोड करते हैं? क्या आप अपना मॉडल भी पोस्ट कर सकते हैं (केवल पहला बिट + कन्स्ट्रक्टर)। लेकिन मैं उपर्युक्त लोगों से सहमत हूं - आपके पास शायद "नियंत्रक 2_model.php" है - यह "नियंत्रक 2_model.php" होना चाहिए
जोड़ा लेखक Laurence, स्रोत
पूर्ण त्रुटि संदेश है: "एक त्रुटि आई। आपके द्वारा निर्दिष्ट मॉडल का पता लगाने में असमर्थ: mycontroller2_model"। मैंने सब कुछ कॉपी किया है ... मैंने इस मामले के साथ विसंगतियों की जांच की है .. अब तक कुछ भी नहीं देखा है। जांच रखेंगे।
जोड़ा लेखक dot, स्रोत
यह भी पुष्टि की कि नियंत्रक के लिए कन्स्ट्रक्टर को बुलाया जा रहा है लेकिन जब मैं अपना मॉडल लोड करने का प्रयास करता हूं तो यह ठीक से मर जाता है ...
जोड़ा लेखक dot, स्रोत
कक्षा xferLogger सीआई_Controller {सार्वजनिक समारोह __construct() {parent :: __ निर्माण (); गूंज (2); $ This-> load-> मॉडल ( 'xferLogger_model'); $ This-> load-> सहायक ( 'तारीख');//इस लाइब्रेरी को base_url() विधि के लिए जरूरी है जिसे "result.php" $-- load-> सहायक ('url') दृश्य में बुलाया जा रहा है; } और यहां मॉडल है: <? PHP class xferLogger_model सीआई_Model {सार्वजनिक फ़ंक्शन __construct() {$ this-> load-> डेटाबेस ();} बढ़ाता है
जोड़ा लेखक dot, स्रोत
मैंने फ़ोल्डर, टेबल नाम, फ़ाइल नामों की जांच की है। एक ही फ़ोल्डर में अन्य मॉडल किसी भी समस्या के बिना लोड किया जा रहा है ...
जोड़ा लेखक dot, स्रोत
जैसा कि सेर्गियो मिशेल पहले ही उल्लेख किया गया है, लिनक्स (और, आईआईआरसी, कोई अन्य गैर-विंडोज सिस्टम) पर फ़ाइल/निर्देशिका नाम और MySQL तालिका नाम केस संवेदनशील हैं। और, "काम नहीं करता" एक वैध त्रुटि संदेश नहीं है।
जोड़ा लेखक tereško, स्रोत
पूर्ण त्रुटि दिखा रहा है सहायक होगा।
जोड़ा लेखक Samy Dindane, स्रोत
लिनक्स केस संवेदनशील है, शायद यह आपके ऐप को गड़बड़ कर रहा है।
जोड़ा लेखक Sérgio Michels, स्रोत
यह भी सुनिश्चित है कि आपने छिपी हुई फाइलों सहित .htaccess सहित सब कुछ कॉपी किया है
जोड़ा लेखक ehudokai, स्रोत

1 उत्तर

उपयोगकर्ता मार्गदर्शिका से: कक्षा के नामों में शेष नाम लोअरकेस के साथ पहला अक्षर होना चाहिए। तो इसलिए:

class Xferlogger_model extends CI_Model//First letter capitalised

और आपका मॉडल लोड

$this->load->model('xferlogger_model'); //lower case

और आपका PHP फ़ाइल नाम

xferlogger_model.php   //lower case

कोडनिर्देशक मॉडल उपयोगकर्ता मार्गदर्शिका

0
जोड़ा
मैंने अपना जवाब सुधार लिया है। क्या आप कृपया अपने मूल quesiton को अद्यतन कोड (ओं) और त्रुटि (ओं) के साथ फिर से संपादित कर सकते हैं जो यह देता है?
जोड़ा लेखक Laurence, स्रोत
कोई समस्या नहीं - हम सब कैसे सीखते हैं :)
जोड़ा लेखक Laurence, स्रोत
जिसने मेरी समस्या का समाधान नहीं किया। मैं नियंत्रक, मॉडल और मार्गों के माध्यम से चला गया और XferLogger को हर जगह Xferlogger के साथ बदल दिया।
जोड़ा लेखक dot, स्रोत
ठीक। इसलिए मॉडल नाम को सभी लोअरकेस में बदलने के आपके नवीनतम सुझाव में एक फर्क पड़ता है। यह अब काम करता है। तो सभी मॉडल नाम लोअरकेस रखने के लिए दूर ले लिया सबक है?
जोड़ा लेखक dot, स्रोत
और मैन्युअल रूप से मैन्युअल रूप से पढ़ने के लिए मेरी माफ़ी। यह एक बहाना नहीं है .. लेकिन मैं खिड़कियों, वैंप, MySQL से linux, postgres, apache में जाने की कोशिश कर रहा हूँ। और कोडिनेटर, लिनक्स, और पोस्टग्रेस मेरे लिए बिल्कुल नए हैं इसलिए मैं डॉक्स में डूब रहा हूं। सहायता के लिए धन्यवाद।
जोड़ा लेखक dot, स्रोत