আপনি প্লাগইনগুলি কীভাবে ডিবাগ করবেন?


49

আমি প্লাগইন অনুমোদনে বেশ নতুন এবং ডিবাগ করতে বেশ সময় পেলাম।

আমি প্রচুর প্রতিধ্বনি ব্যবহার করেছি এবং এটি ম্লান এবং কুশ্রী।

আমি নিশ্চিত যে এটি করার আরও ভাল উপায় আছে, সম্ভবত কোনও ডিবাগার যুক্ত একটি আইডিই যা আমি প্লাগইন সহ পুরো সাইট চালাতে পারি?


1
আমি এমন কোনও আইডিই দেখিনি যা পুরোপুরি আইডিইর মধ্যে ওয়ার্ডপ্রেস চালায় ... যদিও এটি দুর্দান্ত aw আমি স্থানীয়ভাবে WAMP এবং ড্রিমউইভার কোড চালিয়ে প্লাগ-ইনগুলি ডিবাগ করি। যদি আপনি মিথ্যাতে সেট WP_DEBUGহন, যেমন জন প্রস্তাবিত করে, তবে আপনার স্ক্রিপ্টগুলির মধ্যে কী ভুল হচ্ছে তা সম্পর্কে খুব ভাল ধারণা পাবেন if তারপরে পরিবর্তনগুলি অবিলম্বে দেখতে আপনি ড্রিমউইভারতে সম্পাদনা করতে, ব্রাউজারে Ctrl + S এবং তারপরে F5 টিপুন।
ইমন

1
@ ই্যামান - পিএইচপিইড (উইন্ডোজের জন্য) এবং পিএইচপিস্টর্ম + এক্সডিবিউজি (ম্যাক, লিনাক্স এবং উইন্ডোজের জন্য) উভয়ই পরীক্ষা করে দেখুন।
মাইকচিন্কেল

উত্তর:


21

Wp-config.php এ যান এবং এতে পরিবর্তন define('WP_DEBUG', false);করুন define('WP_DEBUG', true);। এছাড়াও, অ্যান্ড্রু ন্যাকিনের লগ অবহেলিত বিজ্ঞপ্তি প্লাগইন ইনস্টল করুন ।



পিএইচপি 5.4+ এর সাথে আপনি সম্ভবত E_STRICT নোটিশগুলিতে নিমজ্জিত হবেন। ছাড়ুন এই সারকথা প্লাগিন ফোল্ডারে এবং যথাযথ নোটিশ মুছে ফেলার জন্য আপনার স্বাভাবিক সেবা ফিরে যাওয়ার নিষ্ক্রিয় সক্রিয় করুন।
ওয়েবওয়ার

12

আপনি যদি মুদ্রিত ত্রুটিগুলি পাচ্ছেন, তবে এক্স-ডিবাগ হ'ল একটি উজ্জ্বল পিএইচপি এক্সটেনশন যা পিএইচপি-তে আধুনিক ব্যাকট্রেস যুক্ত করে।

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


10

Xdebug + নেটবিয়ান আইডিই ব্যবহার করুন । যখন সম্পূর্ণরূপে কনফিগার করা হয় - যা করা সহজ - আপনি আপনার প্লাগইনে ব্রেক পয়েন্ট সেট করতে পারেন এবং ব্রেক পয়েন্টগুলিতে ভেরিয়েবলগুলি দেখতে পারেন। আমি মনে করি এটির জন্য প্লাগিনগুলি বা কোনও পিএইচপি অ্যাপ্লিকেশন ডিবাগ করার সেরা উপায়।


6

আমি পুরানো ধাঁচের ডিবাগ করছি, error_log()আইএনএন এবং var_dumpআইএনজি। আমার কাছে এটি সবচেয়ে কার্যকরী উপায়, আমার কাছে বিভিন্ন ধরণের ডেটা হ্যান্ডেল করার জন্য বেশ কয়েকটি র‌্যাপার ফাংশন রয়েছে, কারণ error_logআইএনআর অ্যারে এবং অবজেক্টগুলি ব্যথা হতে পারে। এছাড়াও, print_r()যখন এটি ব্যবহার না করা হয় তখন এটি ব্যবহার করা জটিল হতে পারে <pre>। আমার tj_log()ত্রুটি লগিংয়ের জন্য, এবং tj()আউটপুট প্রদর্শনের জন্য রয়েছে (যা মূলত উপস্থাপনযোগ্য ম্যাননরে কোনও ডেটা টাইপ দেখায়:

function tj( $code ) {

    ?>
    <style>
        .tj_debug { word-wrap: break-word; white-space: pre; text-align: left; position: relative; background-color: rgba(0, 0, 0, 0.8); font-size: 11px; color: #a1a1a1; margin: 10px; padding: 10px; margin: 0 auto; width: 80%; overflow: auto; -moz-box-shadow:0 10px 40px rgba(0, 0, 0, 0.75); -webkit-box-shadow:0 10px 40px rgba(0, 0, 0, 0.75); -moz-border-radius: 5px; -webkit-border-radius: 5px; text-shadow: none; }
    </style>
    <br /><pre class="tj_debug">

    <?php
    if ( is_null( $code ) || is_string($code) || is_int( $code ) || is_bool($code) || is_float( $code ) ) :
        var_dump( $code );

    else :
        print_r( $code );

    endif;

    echo '</pre><br />';

}

function tj_log( $code ) {

    if ( is_null( $code ) || is_string($code) || is_int( $code ) || is_bool($code) || is_float( $code ) ) :
        $code = var_export( $code, true );

    else :
        $code = print_r( $code, true );

    endif;

    error_log( $code );

}

সুতরাং আমি কেবল না: tj( $current_user );বা যাই হোক না কেন।


5

বেশ কয়েকটি আইডিই'র সাথে ঝাঁকুনির পরে, আমি একটি অতি-কাস্টমাইজড সিনট্যাক্স হাইলাইটিং কালার স্কিমের সাথে সরল পুরানো নোটপ্যাড ++ এ স্থায়ী হয়েছি ।

আমার কাছে এমন একটি ম্যাক্রো সেট আপ আছে যে আমি যখন শিফট-সিটিআরএল-এক্সকে আঘাত করি তখন নীচের কোডটি আউটপুট পায় যেখানে আমার কার্সারটি রয়েছে:

echo "<pre>";
var_dump($);
echo "</pre>";
exit();

এটি সহজ, তবে আমি সাধারণত এই ম্যাক্রো প্লাস WP_DEBUG সক্ষম হয়ে আমার 90% বাগ সন্ধান করতে পারি।


2
চমৎকার পদক্ষেপ. সম্পাদকগুলিতে কীবোর্ড হটকি!
hakre

1
আমি print_r($var, true)পরিবর্তে দেওয়া আউটপুট পছন্দ var_dump
brasofilo

5

লগফিল তৈরি করার জন্য আমি একটি ছোট্ট ক্লাস লিখেছিলাম, আপনি যখন অজ্যাক্স কলগুলি ডিবাগ করছেন তখন খুব কার্যকর।

http://github.com/hunk/Magic-Fields/blob/master/tools/debug.php

আপনার কেবল এমন কিছু করা দরকার:

ডিবাগ :: লগ ("এটি একটি ডিবাগ বার্তা");

যখন লাইনটি কার্যকর করা হবে তখন লগ ফাইলটিতে একটি বার্তা যুক্ত করা হবে এবং এর পরে আপনি টেল কমান্ডটি ব্যবহার করতে পারেন (আপনি যদি কিছু ইউনিক্সের স্টাইল অপারেটিভ সিস্টেম ব্যবহার করছেন)

লেজ -f mylogfile.log

আপনি যদি এই ফাংশনে একটি অ্যারে বা কোনও বস্তুও পাস করতে পারেন।

নোট করুন যে পথে আপনি লগ ফাইলটি সংরক্ষণ করতে চান সেখানে আপনার 20 লাইনটি পরিবর্তন করতে হবে


3

আমি লিনাক্সে অ্যাপটেন আইডিই এবং উইন্ডোজে আল্ট্রাএডিট ব্যবহার করি এবং এটির একটি পিএইচপি-পার্সারও রয়েছে। এছাড়াও, আমি এক্সডিবেগ থেকে সমস্ত সংকেতগুলিকে ধ্রুবক হিসাবে WP_DEBUGসংজ্ঞায়িত করে দেখি wp-config.php

এই বিষয়ে আমার পোস্টটিও দেখুন এবং আপনার বিকাশের সরঞ্জামগুলি সম্পর্কে মতামত জানাতে এবং মতামত দিতে দ্বিধা বোধ করবেন।


2

আমি ফায়ারএইচপি পরীক্ষা করার পরামর্শ দিচ্ছি । আপনি ফায়ারফক্সের ফায়ারব্যাগে এইচটিটিপি শিরোনামের মাধ্যমে ডিবাগ তথ্য প্রেরণ করতে পারেন যা সাধারণত ক্লিনার ডিবাগ আউটপুট তৈরি করে।



1

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

দুজনেই রক! সুখবর যে পিএইচপিস্টোরম সেপ্টেম্বর 2010 এর আগে 49 ডলার এবং তার পরে কেবল $ 99। আমি যদি উইন্ডোতে থাকি এবং আবারও চয়ন করতে পারি তবে আমি কোনটি বেছে নেব তা নিশ্চিত নয়।

সত্যই আমি সাহায্য করতে পারি না তবে অনুভব করতে পারি যে কোনও দুটি প্লাগইন বিকাশকারী এই দুটি সরঞ্জামের মধ্যে একটিও ব্যবহার করছেন না, তারা গুরুতরভাবে প্রতিবন্ধী, বিশেষত যদি তারা ওয়ার্ডপ্রেস প্লাগইনগুলি বিকাশে তুলনামূলকভাবে নতুন হয়।


1

ক্রমো - স্টাইলযুক্ত পিএইচপি ডিবাগ ক্লাস

আর একটি খুব সুন্দর জিনিস হ'ল "ক্রমো" পিএইচপি ক্লাস। এটি ½ মিনিটে কার্যকর করা হয়েছে এবং সমস্ত ধরণের ভেরিয়েবল ডিবাগ করার সহজ উপায় সরবরাহ করে:

  • বস্তু,
  • অ্যারে,
  • স্ট্রিং / ভাসা / পূর্ণসংখ্যা / ইত্যাদি।

এছাড়াও এটি ব্যাকট্র্যাসিংয়ে সহায়তা করে, লোড হওয়া ক্লাস বা অন্তর্ভুক্ত ফাইল এবং চাহিদা অনুযায়ী সমস্ত কিছু দেখায়।

এছাড়াও এটি নিখরচায়!

ডাউনলোড

ক্রামো @ সোর্সফোর্জ


0

আমি লগপ্রেস নামে একটি 13 ডলার প্লাগইন ব্যবহার করি আপনি থিমফোরেস্টে কিনতে পারেন এবং এটি পরম God শ্বর -প্রেরণ। আপনি তাদের প্লাগইন এবং সাইট সম্পর্কিত সমস্ত কিছু ডিবাগ করতে পারেন। ফায়ারব্যাগ কনসোল লগিং এবং আরও অনেক কিছু সমর্থন করে। আমি এটি ছাড়া বাঁচতে পারি না, এই প্লাগইনটি আমি কতটা ব্যবহার করি।

এই প্লাগইনটি সম্ভবত আমি সবচেয়ে ভাল অর্থ ব্যয় করেছি এবং এটি আমার ওয়ার্ডপ্রেস প্লাগইন বিকাশে অগণিত ঘন্টা সাশ্রয় করেছে।


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

আমি ভোট দেওয়ার এক নই, তবে আমি অবাক হই না। আপনি শব্দগুলি ব্যবহার করছেন যেন আপনি প্লাগইনটি বিক্রি করার চেষ্টা করছেন। জিনিসগুলির প্রস্তাব দেওয়া ভাল, তবে "পরম Godশ্বর-প্রেরণ" এর মতো শক্ত বিক্রয়কে চাপ দেওয়া। মানুষ বিজ্ঞাপনগুলি ঘৃণা করে। কেবল ভাষাটি স্বর করুন এবং সুপারিশটি নিজেই কথা বলবে।
icc97

0

আমি পিএইচপিইডি এবং এক্সডিবাগ ব্যবহার করছি তবে আমার জন্য (এবং অন্য কারও জন্য মনে হচ্ছে) প্লাগইন বা থিমের ফাইলটি ডিবাগ করা অসম্ভব! মূল বা মূল "মূল" ফাইলগুলিতে থাকা ব্রেকপয়েন্টগুলিতে ডিবাগারটি কেবল থামে! কেউ আমাকে সাহায্য করতে পারেন?


0

প্রথমত আমি define('WP_DEBUG', false);আমার স্থানীয় ইনস্টলটিতে ডাব্লুপি-কনফিগারেশন.এফপি ফাইলটি যুক্ত করি (যেমন বেশিরভাগ লোকেরা বলেছেন) যা প্রাসঙ্গিক উত্পাদন সাইটের সাম্প্রতিক অনুলিপি (ফাইল এবং ডেটা উভয়)। এটি স্টাফগুলিকে দ্রুত, নিরাপদ, পৃথক করে তোলে তবে কমপক্ষে একটি জায়গায় প্লাগইনটি আসলে ব্যবহৃত হবে তা ভালভাবে প্রতিফলিত করে।

আমিও যোগ ডিবাগ বার আপনার প্লাগিন হিসেবে উপযুক্ত - ডিবাগ বার অ্যাড-অন (উদাহরণস্বরূপ transients) কিছু কিছু একসাথে প্লাগইন।

আমি ফায়ারবক্সের জন্য ফায়ারবগ অ্যাড-অনও ব্যবহার করি যা এইচটিএমএল, সিএসএস এবং জাভাস্ক্রিপ্ট সম্পর্কিত বিষয়গুলিও বিন্যাসের অদ্ভুততার জন্য অনুসন্ধান করতে সহায়তা করে।

আমি আল্ট্রাএডিট ব্যবহার করে কোড করি যা আমি কাজ এবং বাড়িতে উভয় ক্ষেত্রে পুরো গুচ্ছ কোডিংয়ের জন্য পিএইচপি (পিএইচপি থেকে এসকিউএল মাধ্যমে) ব্যবহার করি এবং তাই এটি আমার পক্ষে ভাল কাজ করে তবে আইডিই হিসাবে আমার রেট দেওয়ার পক্ষে পর্যাপ্ত পরিমাণ নেই maybe অনেক লোক এটিতে সিনট্যাক্স হাইলাইটিং, স্বয়ংক্রিয় সমাপ্তি এবং কোড লেআউট বৈশিষ্ট্য এবং এইচটিএমএল এবং সিএসএস শর্টকাট সরঞ্জাম রয়েছে যা টাইপস এবং একইভাবে এড়াতে সহায়তা করতে পারে। প্রায়শই এটি আমার কাছে পরিচিতি আসে যা একটি নতুন দিকের ভিড়ে প্রায়ই প্রায়শই উপেক্ষা করা একটি গুরুত্বপূর্ণ বিষয় is পেশী মেমরি এমনকি কোডিংয়ের ক্ষেত্রে পুনরাবৃত্তিযোগ্যতাগুলিকে সহায়তা করে।

এবং অবশ্যই আমার কাছে কোডেক্স থেকে কিছু উপযুক্ত পৃষ্ঠা একটি উপযুক্ত টীকাতে অন্য ট্যাবে খোলা থাকে।

এই সমস্ত কোডিং, পার্সিং, ফাংশনাল এবং লেআউট ত্রুটিগুলি হাইলাইট করতে বিভিন্ন উপায়ে সহায়তা করে এবং আমি কীভাবে কোড করি বা কিছু ভুল না হলে কীভাবে খুব বেশি হস্তক্ষেপ করে না। আপনি যদি আবার পরীক্ষা-নিরীক্ষা করছেন বা এমন কিছু নিয়ে কাজ করছেন যা বেশিরভাগ ক্ষেত্রে উপেক্ষা করা বা নিষ্ক্রিয় করা যেতে পারে।

ওহ, এবং কোনও কীতে কিছু পরীক্ষা করার জন্য ভাল অবস্থানযুক্ত প্রতিধ্বনি বা মুদ্রণ_আর এর সাথে কোনও ভুল নেই (যতক্ষণ আপনি শেষ হয়ে যাওয়ার পরে এগুলি সরিয়ে দেন)।


0

পরীক্ষা করে দেখুন ক্যোয়ারী মনিটর সঙ্গে মিলিত বাড়ান ক্যোয়ারী মনিটর ওয়ার্ডপ্রেস এর ব্যাপক ডিবাগিং (পিএইচপি ত্রুটি / নোটিশ / stricts / সতর্কবার্তা, ডাটাবেজ প্রশ্নের, পাথ, ধ্রুবক, HTTP অনুরোধ, transients, সেশন ভেরিয়েবল, Var ডাম্প) জন্য।

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


0

ওয়ার্ডপ্রেস বিকাশের জন্য পিএইচপিএসটারম এবং এক্সডিবাগ আমার জন্য একটি গেম পরিবর্তন করছে। এখনই সুপারিশ। বিশেষত তাদের ইনলাইন ডিবাগ সরঞ্জামগুলির সাথে।


কীভাবে সেট আপ করবেন?
jgraup

কেবল তাদের সহায়তা সাইটে যান: jetbrains.com/help/phpstorm/2016.2/configuring-xdebug.html
ইমানুয়েল রোকা কোস্টা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.