मुझे एक अजीब समस्या है। मैं मुझे लगता है कि चाल करना चाहिए (और करता है) कोड की इस पंक्ति पाया सिद्धांत 2 में मेरी की प्रॉक्सी ऑटो उत्पादन बंद करना चाहते हैं:सिद्धांत 2. ऑटो जनरेटिंग प्रॉक्सी
$config->setProxyDir(APPPATHSYSTEM."/proxies");
$config->setProxyNamespace('Proxies');
// Auto generate proxies for development
$config->setAutoGenerateProxyClasses(DEVELOPMENT);
अपने परीक्षण वातावरण प्रॉक्सी आवेदन पर स्थित हैं पर/प्रॉक्सी। यानी .:
application/proxies/BaseUserProxy.php
जब मैं लाइव वातावरण मेरी कोड अचानक आवेदन/प्रॉक्सी/प्रॉक्सी जो वास्तविक स्थान नहीं है पर प्रॉक्सी के लिए खोज करता पर हूँ।
मुझे समझ में आता है कि इसका नामस्थान के साथ कुछ करना है, लेकिन मुझे समझ में नहीं आता कि setAutoGenerateProxy विधि का उपयोग करते समय यह अलग-अलग व्यवहार क्यों करता है।
कोई भी विचार?
orm:generate-proxies
विकल्प:
संपादित
मैं का उपयोग कर नए प्रॉक्सी उत्पन्न किये है।
कौन मुझे इस उत्पादन दिया:
php doctrine.php orm:generate-proxies
Processing entity "Base\Element"
Processing entity "Base\Page"
...
Processing entity "Base\Site"
Proxy classes generated to "/var/www/application/proxies"
अंतिम पंक्ति को देखते हुए, प्रॉक्सी/var/www/आवेदन/प्रॉक्सी में उत्पन्न कर रहे हैं। निर्देशिका सूची इस तरह दिखती है:
BaseElementProxy.php
BasePageProxy.php
...
BaseSiteProxy.php
तो कोई अतिरिक्त प्रॉक्सी निर्देशिका नहीं है। लेकिन जब मैं अपने वेब पृष्ठ ताज़ा यह सोचता है कि वहाँ है, यह मुझे निम्न त्रुटि देता है:
Warning: require(/var/www/application//proxies/Proxies/BaseUserProxy.php)
[function.require]: failed to open stream:
No such file or directory in /var/www/library/Doctrine/Common/ClassLoader.php on line 148
अतिरिक्त प्रॉक्सी निर्देशिका क्यों जोड़ा जाता है? यदि मैं प्रत्येक अनुरोध पर प्रॉक्सी उत्पन्न करता हूं तो यह अतिरिक्त प्रॉक्सी निर्देशिका में नहीं दिखता है। कोई?
@Bryan एम: यह एक समाधान है, लेकिन कोई समाधान नहीं है। इसके अलावा, यह काम नहीं करता है। जब प्रॉक्सी वे, यदि आपका सुझाव लागू, APPPATHSYSTEM में उत्पन्न हो जाएगा पैदा करने और मेरी webapp उन्हें APPPATHSYSTEM से लोड करने के लिए कोशिश करेंगे। "प्रॉक्सी"।
$config->setAutoGenerateProxyClasses(DEVELOPMENT);
अगर विकास सच है, यह APPPATHSYSTEM पर दिखेगा: समस्या अगर मैं का उपयोग करें कि सिस्टम अलग-अलग स्थानों पर प्रॉक्सी के लिए दिखता है। यदि विकास गलत पर सेट किया गया है, तो यह APPPATHSYSTEM को देखेगा। "प्रॉक्सी"। बस विकास कॉन्सेंस स्विच करने से मेरा आवेदन टूट जाता है, सैद्धांतिक रूप से क्या संभव नहीं होना चाहिए।
प्रॉक्सी निर्देशिका को केवल APPPATHSYSTEM में सेट करने का प्रयास करें। इसे वहां से 'प्रॉक्सी' नामस्थान लेना चाहिए। –