2016-07-28 3 views
5

पर अपग्रेड करने के बाद "घातक त्रुटि: वर्ग घोषित नहीं कर सकता" मैं PHP 7.0.4 का उपयोग कर रहा था और सबकुछ सुचारू रूप से चल रहा था और मैंने अभी PHP 7.0.8 में अपग्रेड किया था और मुझे इस तरह की त्रुटियां मिल रही हैं जगह।PHP 7.0.8

Fatal error: Cannot declare class Plugins\Users\Plugin because the name is already in use in /var/www/html/plugins/Users/Plugin.php on line 8

किसी को भी किसी भी विचार है क्या हो रहा है, मैं परिवर्तन लॉग के माध्यम से पढ़ रहा है, लेकिन है कि एक पैच यह कुछ भी नहीं तोड़ को अपडेट कर रहा है?

इसके अतिरिक्त, यदि इस समस्या में कोई समाधान नहीं मिला है, तो मैं वापस 7.0.4 पर कैसे डाउनग्रेड कर सकता हूं? (मैं ubuntu उपयोग कर रहा हूँ 16.04 और मैं बस बिंदु रिलीज करने के लिए उन्नत)

अब तक टिप्पणियाँ सारांश में:

  • मैं opcache अक्षम करने की कोशिश की है इस समस्या को
  • मैं उपयोग कर रहा हूँ का समाधान नहीं संगीतकार का ऑटोलोडर - मैं require या include का उपयोग नहीं कर रहा हूं
  • यह त्रुटि कक्षाओं के एक टन के लिए हो रही है, इसलिए यह स्पष्ट रूप से एक कोड मुद्दा नहीं है (मेरे भाग पर), इसके अलावा कोड 7.0.8 तक अपग्रेड करने से पहले काम कर रहा था
+1

अपमानजनक कोड साझा करने के लिए देखभाल? – Machavity

+0

@ माचविटी यह एक वर्ग नहीं है, अगर मैं कोड से इस वर्ग को हटा देता हूं तो दूसरी कक्षा इस त्रुटि को फेंकता है, यह PHP में कुछ है क्योंकि, जैसा कि मैंने कहा था, यह सब कुछ 30 मिनट पहले ठीक चल रहा था। –

+0

त्रुटि संदेश स्पष्ट लगता है –

उत्तर

1

ठीक है, जाहिर है, मैं इस तथ्य से इतना अंधाधुंध था कि अपग्रेड के बाद त्रुटि उत्पन्न हुई, मैंने इसे नजरअंदाज कर दिया, भले ही यह मेरी आंखों के ठीक पहले था।

ये (अन्य वर्गों का एक समूह और जाहिरा तौर पर) प्रश्न में वर्ग के पहले कुछ पंक्तियां हैं:

<?php 

namespace Plugins\Users; 

use FW\Utility\Models\Plugins\Plugin; 

class Plugin extends Plugin { 

आप के रूप में, और अंत में मैं, स्पष्ट रूप से देख सकते हैं, वर्ग के नाम Plugin अस्पष्ट है, लेकिन 7.0.4 में नहीं था, जो अजीब है और शायद bugbishop के answer

लगता है कि मैं Machavity बात सुनी है चाहिए में वर्णित के कारण होता है, है ना।

+0

खुशी है कि आप इसे ठीक कर चुके हैं;) – Machavity

4

निश्चित रूप से कहने के लिए पर्याप्त डेटा नहीं है, हालांकि मुझे opcache पर संदेह है। वास्तव में, यह त्रुटि, originates in opcache इसलिए मुझे इस बिंदु पर संदेह है कि त्रुटि कई ओपोड बगों में से एक द्वारा छिपी हुई थी, शायद #66773

आपके पास वैध रूप से एक ऑटोलोडिंग समस्या है जिसे ठीक करने की आवश्यकता है। कक्षा का नाम बदलें, अपने नामस्थानों की जांच करें, और किसी भी कठोर आवश्यकता को हटा दें।

आप अक्षम करने/पुनः सक्षम करने opcache या 7.0.4 पर वापस जाकर पूर्व गाड़ी व्यवहार बहाल करने में सक्षम हो सकता है, लेकिन वास्तव में बग केवल autoloading और opcache की एक विशेष संयोजन के नीचे दब गया था। वास्तव में, यह केवल मौका था कि इस मुद्दे को अब तक ज्ञात नहीं किया गया है और यह केवल मौका ही होगा कि आप इसे फिर से मुखौटा कर सकते हैं।

तो सबसे अच्छा कोर्स इस मुद्दे को ठीक करना है।

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