dpm () স্ক্রিনে কোনও ফলাফল প্রদর্শন করে না


23

আমার একই সমস্যা আছে file_scan_directory () কার্যকর করতে 10 সেকেন্ড সময় লাগে । আমি কেবল dpm(func_get_args())পরামর্শটি চেষ্টা করেছিলাম , এবং দুর্ভাগ্যক্রমে এটি আমাকে কিছু দেখায় না।

আমি সমস্ত ক্যাশে সাফ করে দিয়েছি এবং ক্রোন কাজগুলি চালিয়েছি। আমি কী মিস করছি?


2
জনগণ / অনুমতিগুলিতে ডেভেলপারের তথ্যের অধীনে বিকাশকারী তথ্য অ্যাক্সেসের আপনার কাছে অনুমতি রয়েছে তা নিশ্চিত করুন
কার্ত্তিক

উত্তর:


28

print $messages;আপনার page.tpl.phpটেম্পলেট ফাইলটিতে আছে তা নিশ্চিত করুন। ডিফল্টরূপে, ডেভেল (ডিপিএম) সাইটের বার্তা অঞ্চলে এর সামগ্রীটি মুদ্রণের জন্য কনফিগার করা হয়েছে। সুতরাং যদি কোনও কারণে আপনার টেম্পলেটটি এর সামগ্রীগুলি সরবরাহ করে না $messages, আপনি কিছুই দেখতে পাবেন না you


13
  1. কখনও কখনও krumo($variable)কাজ dpm($variable)করতে পারে না যখন ।

  2. কখনও কখনও print dpm($variable)কাজ dpm($variable)করতে পারে না যখন ।

    1. print $messagesআপনার page.tpl.phpআর কিছুই নেই তখন সমাধানও হতে পারে । আপনি এটি আবার যুক্ত করতে পারেন।

9

ডিভেল অ্যাক্সেসের সঠিক অনুমতি সহ আপনাকে অবশ্যই ড্রুপাল সাইটে লগ ইন করতে হবে। অ্যাডমিন হিসাবে এটি করা উচিত লগ ইন।


7
বেনামে থাকা ব্যবহারকারীদের সঠিক অনুমতি থাকলে লগ-ইন হওয়া প্রয়োজনীয় নয়।
kiamlaluno

3
এই অনুমতিটি 'অ্যাক্সেস বিকাশকারী তথ্যের' অধীনে 'প্রশাসক / ব্যক্তি / অনুমতি' এ পাওয়া যাবে।
সাইট্রিকগুই

9

আমি অত্যন্ত ডিভেল_দেবগ_লগ সুপারিশ করব । এটির জন্য ডিভেল মডিউলটি প্রয়োজন এবং এটি আপনাকে ডিডিএল () ফাংশন দেয়। ডিডিএল আপনার রিপোর্টগুলিতে কনফিগারেশনে একটি পৃষ্ঠা যুক্ত করে, তাই এটি ওয়াচডগের মুদ্রণের সমান, তবে আপনার একটি দুর্দান্ত পরিষ্কার পৃষ্ঠা রয়েছে যেখানে আপনি আপনার ডিবাগ বার্তাগুলি প্রেরণ করতে পারবেন এবং রেস-টাইপ শর্তগুলির বিষয়ে চিন্তা করবেন না যেখানে আপনার বার্তাগুলি আপনার আগে পরিষ্কার হয়ে যেতে পারে about এগুলি দেখার সুযোগ - বা আপনার ক্ষেত্রে থিমের সমস্যাগুলির মতো।

(আপনি যদি কোনও ধরণের এপিআই তৈরির চেষ্টা করেন তবে এটি একটি অত্যন্ত দরকারী সরঞ্জাম, কারণ এই সমস্ত অনুরোধগুলি কখনই আপনাকে কোনও ধরণের ডিএমএম () বার্তা প্রদর্শন করবে না))


1
এটি আমার জন্য সেরা সামগ্রিক সমাধান ছিল।
পুনর্বার

1
এজাক্স অনুরোধগুলি ডিবাগ করার সময়ও অমূল্য।
ফেলিক্স ইভ

8

এই মডিউলটিতে ঘোষিত একটি ফাংশন হিসাবে আপনি ডিভেল মডিউলটি সক্ষম ও ইনস্টল করেছেন তা নিশ্চিত করুন dpm()

dpm()বর্ণনা এখান থেকে নেওয়া ।

Drupal_set_message () ব্যবহার করে পৃষ্ঠার 'বার্তা' অঞ্চলে একটি পরিবর্তনশীল মুদ্রণ করে। আপনি যখন নিজের সাইটটি চালাচ্ছেন কোডটিতে কাজ করছেন তখন আপনি এক বা একাধিক ভেরিয়েবলের উপর নজর রাখতে এই ফাংশনটি ব্যবহার করতে পারেন। যেহেতু ডিভেল মডিউলটি এখন ক্রমোর সাথে আসে, আউটপুটটি সংক্ষিপ্ত এবং বিরক্তিকর।

dpm($input, $name = NULL)

যদি কোনও কারণে আপনি ক্রমো ব্যবহার না করে থাকেন তবে আপনি calls নামের প্যারামিটারটি বিভিন্ন কলের মধ্যে ডিএমপি () ব্যবহার করতে পারেন।

আপনি ডেভেল ডাউনলোড ও সক্ষম করার পরে, ফাইল_স্ক্যান_ডাইরেক্টরি থেকে উত্তরটি চেষ্টা করুন () আবার কার্যকর করতে প্রায় 10 সেকেন্ড সময় নেয় এবং এটি কাজ করা উচিত।


এটা একই থাকে। আমি ডেভেল মডিউলটি ইনস্টল ও সক্ষম করেছি, সমস্ত ক্যাশে সাফ করেছি, ক্রোন চালাই এবং এখনও ডিপিএম (ফান_সেট_আরগস ()) কিছুই দেখায় না।
জিমি

কোথায় রাখছেন dpm(func_get_args());?
চাপাবাবু

বুটস্ট্র্যাপ.ইঙ্ক ফাইলটিতে: ডিপিএম (ফান_জেট_আর্গস ()); $ ম্যাচগুলি = দ্রুপাল_সিস্টেম_লিস্টিং ("/ ^" DR ...
জিমি

মুহুর্তের জন্য - ডেভেলকে বাইপাসে পরিবর্তন dpm(func_get_args());করার চেষ্টা করুন die(print_r(func_get_args());
চাঁপবু

3
চাঁপবাবুর দ্বারা পুনর্নির্দিষ্ট দ্বিতীয় আদেশটি যদি কোনও পরিবর্তন না করে, তবে এর সহজ অর্থ হল কোডটি কল করা হয় না এবং আপনি একই সমস্যার দ্বারা প্রভাবিত হন না।
বার্ডির

5

আপনি যদি কোনও টেম্পলেট ফাইল স্পর্শ না করে (বা না রেখে) কোনও ফাংশনটির ভিতরে থেকে এটি মুদ্রণ করতে চান তবে এটি চেষ্টা করুন:

$nid = 3;
$node = node_load($nid);
dpm($node);
print theme('status_messages'); 

3

এটি কখনও কখনও পৃষ্ঠাতে 404 ফেরত উত্সের ফলাফল is

দ্রুপাল 404 পৃষ্ঠাটি রেন্ডার করে এবং তা করার সময় সেশন থেকে বার্তাগুলি আনা হয় (এবং সাফ করে) এবং 404 পৃষ্ঠাতে রাখে যা আপনি দেখতে পান না। তারপরে যখন মুখ্য পৃষ্ঠা বার্তা আনবে তখন আর কিছুই অবশিষ্ট নেই।

আপনি নেটওয়ার্ক ট্যাবটি খুলতে এবং কোনও সংস্থার 404 স্থিতি রয়েছে কিনা তা পরীক্ষা করে দেখতে পারেন।

এখানে একটি সহজ সমাধান হ'ল সেটিংস.ফ্পে এই লাইনটি সংক্ষেপিত করে দ্রুত 404 সক্ষম করা:

# drupal_fast_404();

এখানে আরেকটি ভাল সমাধান হ'ল স্লেকফিসট্রন্টের পরামর্শ অনুসারে ডিভেল_দেবগ_লগ ব্যবহার করা ।


2

কখনও কখনও বার্তাটি কাটা যেতে পারে বা এজেএক্সের ক্ষেত্রে কাজ করবে না।

আরও নির্ভরযোগ্য পদ্ধতিটি হ'ল (তারপরে সমাপ্তির পরে অপসারণ):

var_dump($data); die();

অথবা আপনি dd()(ডেভেলের পাশাপাশি অংশ) ব্যবহার করতে পারেন , যেমন

dd(func_get_args());

তারপরে আপনার লগ ফাইলটি পরীক্ষা করুন (অস্থায়ী ফোল্ডারে), যেমন

$ tail -f /tmp/drupal_debug.txt

উপরোক্ত পদ্ধতিটি ব্যবহার করা আরও সুবিধাজনক, দ্রুত এবং এটি বর্তমান সাইটের রেন্ডারিংটি ভঙ্গ না করে এজেএক্স বা অন্যান্য অনুরোধ সমর্থন করতে পারে।


আপনি যদি এখনও পছন্দ করেন তবে dpm()ব্যবহার করার চেষ্টা করুন kint()(ভেরিয়েবলগুলির এই সুন্দর মুদ্রণের জন্য অন্তর্ভুক্ত কিন্ট সাবমডিউল সক্ষম করুন)।


1

যদি কেবল কয়েকটি dpm()কল কাজ না করে তবে এটি dpm()ক্রাশের কারণে হতে পারে । আমি কাস্টম ফর্ম হ্যান্ডলার জমা দেওয়ার জন্য নিম্নলিখিত দৃশ্যে এটি ঘটতে দেখেছি:

function mymodule_formid_submit($form, &$form_state) {
  dpm($form_state);
}

আমি বিশ্বাস করি যে ত্রুটি শর্তটি একটি ব্যতিক্রম হ্যান্ডলার দ্বারা ধরা পড়েছিল dpm(), কারণ পৃষ্ঠাটি জরিমানা প্রদর্শন করছিল, কোনও ডাব্লুএসওড বা কোনও কিছু ছিল না, কেবল কোনও dpm()বার্তা ছিল না। ত্রুটিটি সম্ভবত সনাক্ত করা পুনরাবৃত্তি, কারণ ব্যবহার করা হচ্ছেddl($form_state) পরিবর্তে ব্রাউজারটি ফলে ডেভেল ডিবাগ লগ মডিউল দ্বারা উত্পন্ন প্রতিবেদনে সম্পর্কিত অবজেক্টটি দেখার সময় মেমরিটি সর্বাধিক হয়ে যায়।

কার্যকারণ হিসাবে, অবজেক্টের কেবলমাত্র (প্রাসঙ্গিক) অংশটি প্রিন্ট করার চেষ্টা করুন dpm($form_state['values'])বা পছন্দ করুন dpm(array_keys($form_state))

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