কেবলমাত্র পরিবর্তনশীল রেফারেন্সগুলি রেফারেন্সের মাধ্যমে ফেরত পাঠানো উচিত - কোডইনিটার


173

সার্ভার পিএইচপি আপগ্রেড করার পরে আমি অ্যাপাচি 2.0 তে পিএইচপি সংস্করণ 5.6.2 এর সাথে নিম্নলিখিত ত্রুটিটি পাচ্ছি

A PHP Error was encountered
Severity: Notice
Message: Only variable references should be returned by reference
Filename: core/Common.php
Line Number: 257

আমি এটা কিভাবে ঠিক করবো?

উত্তর:


450

ফাইলের নাম সম্পাদনা করুন: কোর / সাধারণ.এফপি, লাইন নম্বর: 257

আগে

return $_config[0] =& $config; 

পরে

$_config[0] =& $config;
return $_config[0]; 

হালনাগাদ

যোগ করেছেন নিককি

পিএইচপি অ্যাসাইনমেন্ট এক্সপ্রেশনগুলিতে সর্বদা নির্ধারিত মানটি ফেরত দেয়। সুতরাং $ _config [0] = & $ কনফিগারটি $ কনফিগার দেয় - তবে ভেরিয়েবলটি নয়, এর মানটির একটি অনুলিপি। এবং একটি অস্থায়ী মানটির জন্য একটি রেফারেন্স ফিরিয়ে দেওয়া বিশেষভাবে কার্যকর হবে না (এটি পরিবর্তন করা কিছু করবে না)।

হালনাগাদ

এই ফিক্সটি সিআই ২.২.১ ( https://github.com/bcit-ci/CodeIgniter/commit/69b02d0f0bc46e914bed1604cfbd9bf74286b2e3 ) এ একীভূত করা হয়েছে । মূল কাঠামোর ফাইলগুলি পরিবর্তনের চেয়ে আপগ্রেড করা ভাল।


2
হাইয়া ... দয়া করে কেন বোঝাবেন? এটি কাজ করে এবং আমি জানি না কেন: পি
গাইফ্রেইকজ

4
@ গুয়্যফ্রোকজ পিএইচপি অ্যাসাইনমেন্ট এক্সপ্রেশনগুলিতে সর্বদা নির্ধারিত মানটি ফেরত দেয় । সুতরাং $_config[0] =& $configফিরে আসে $config- তবে ভেরিয়েবল নিজেই নয়, এর মানটির একটি অনুলিপি। এবং একটি অস্থায়ী মানটির জন্য একটি রেফারেন্স ফিরিয়ে দেওয়া বিশেষভাবে কার্যকর হবে না (এটি পরিবর্তন করা কিছু করবে না)।
NikiC

হ্যাঁ ... ভাল! কেন সে জিনিসগুলি প্রদর্শিত হতে পারে তা কেন জানি না ...: ডি
গুমুরুহ

4
এটি সিআই ২.২.১ এ একীভূত করা হয়েছে https://github.com/bcit-ci/CodeIgniter/commit/69b02d0f0bc46e914bed1604cfbd9bf74286b2e3। @ চাদ যেমন উল্লেখ করেছেন তার মতো আপগ্রেড করা আরও ভাল।
সাইয়াকুর রহমান

1
আমি কোডইনজিটার (২.০.২) এর পুরানো সংস্করণে থাকি যখন আমি ২৪৩ লাইনে এই ফিক্সটি চেষ্টা করি (এটি আমার সংস্করণে প্রদর্শিত হয়) - আমি পিএইচপি 500 ত্রুটি পাই। এই ধারণাটি কীভাবে পেতে পারি?
JoeM05

8

এটি কোডইনিটার ২.২.১ এ পরিবর্তিত হয়েছে ... মূল ফাইলগুলি সংশোধন করার জন্য সবচেয়ে ভাল অনুশীলন নয়, আমি সর্বদা আপডেটগুলি পরীক্ষা করে দেখি এবং জানুয়ারীতে ২.২.১ প্রকাশিত হয়েছে


1

কোডিগিটারের কোর.কম ফাইলটি ওভাররাইড করা ভাল ধারণা নয়। কারণ এটাই আরও পরীক্ষিত এবং সিস্টেম ফাইল ....

আমি এই সমস্যার সমাধান করি। আপনার ckeditor_helper.php ফাইল লাইন- 65

if($k !== end (array_keys($data['config']))) {
       $return .= ",";
}

এটিকে -> এ পরিবর্তন করুন

 $segment = array_keys($data['config']);
    if($k !== end($segment)) {
           $return .= ",";
    }

আমি মনে করি এটিই সেরা সমাধান এবং তারপরে আপনার সমস্যার বিজ্ঞপ্তিটি অদৃশ্য হয়ে যাবে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.