সম্পূর্ণ ইনস্টলের ক্ষেত্রে বেমানান অস্থায়ী 404 গুলি পোস্ট-টেম্পলেট.পিএইচপি সহ পিএইচপি ত্রুটি


9

আমি এটির দ্বারা গভীরভাবে বিভ্রান্ত হয়েছি: আমার কাছে একটি মিডিয়া টেম্পল জিএসে একটি ওয়ার্ডপ্রেস ইনস্টল রয়েছে [অনেকের মধ্যে একটি জরিমানা কাজ করে এবং প্রায় একই ধরণের কনফিগার করা হয়] যা আমাকে মাঝে মাঝে 404s সাইটব্যাপী দিচ্ছে। যখন এটি ঘটে তখন আমি আমার পিএইচপি ত্রুটি লগটিতে এক সাথে 3 টি ত্রুটি পাই:

[01-Nov-2013 22:20:50 UTC] PHP Notice:  Trying to get property of non-object in /nfs/---/---/mnt/---/domains/---.---/html/wp-includes/post-template.php on line 275
[01-Nov-2013 22:20:50 UTC] PHP Notice:  Trying to get property of non-object in /nfs/---/---/mnt/---/domains/---.---/html/wp-includes/post-template.php on line 209
[01-Nov-2013 22:20:50 UTC] PHP Notice:  Trying to get property of non-object in /nfs/---/---/mnt/---/domains/---.---/html/wp-includes/post-template.php on line 29

প্রথম দুটি $postবস্তুর সাথে সম্পর্কিত এবং এর সাথে তৃতীয়: get_post()->ID;যা আমার মনে হয় $postঅবজেক্টটির সৃষ্টি ।

আমার কাছে ত্রুটি বার্তাগুলির এই দুটি অনুরূপ ত্রয়ীর প্রায় 25 মিনিটের ব্যবধানে [২ য় দফার বাইরে] রয়েছে।

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

আমার 2 টি প্লাগইন সক্ষম ছিল: ডাব্লু 3 মোট ক্যাশে এবং এজেএক্স থাম্বনেল পুনর্নির্মাণ

আমি ক্যাশে প্লাগইন সহ এবং এর বাইরে পরীক্ষা করেছি এবং সমস্যাটি অব্যাহত রয়েছে। থাম্বনেইল প্লাগটি কোনও পার্থক্য করে কিনা তা দেখার জন্য আমি কেবল অক্ষম করেছি।

দয়া করে এটি আমাকে উন্মাদ করে দিচ্ছে সহায়তা করুন! [এবং আমি আজ প্রকাশ্যে এই সাইটটি চালু করতে চেয়েছিলাম]

সম্পাদনা

আমার আরও উল্লেখ করা উচিত ছিল যে আমি কিছুতে এই ত্রুটিটি দেখেছি কিন্তু এই সার্ভারে অন্য সমস্ত ওয়ার্ডপ্রেস ইনস্টল নেই। আমি মনে করি তবে এটি 100% নিশ্চিত হতে পারে না, যে ত্রুটিগুলি দেখানো হচ্ছে তারা ঠিক কাজ করার চেয়ে নতুন ইনস্টল। যদিও সমস্ত ইনস্টল সম্পূর্ণরূপে আপডেট হয়েছে।

EDIT2

আমি কেবলমাত্র অন্য একটি ডাব্লুপি প্রকল্পে কাজ করছি এবং বুঝতে পেরেছি যে এই 3 ত্রুটিটি কী বোঝায়। অস্তিত্ব নেই এমন একটি কাস্টম পোস্ট টাইপের সূচী পৃষ্ঠায় গিয়ে আমি ঠিক এই তিনটি পিএইচপি ত্রুটিগুলি পুনরুত্পাদন করতে পারি। তবে এটি কেন ব্যাখ্যা করে না যে এটি কেন এই প্রশ্নটিতে 404 সৃষ্টি করবে, বিশেষত এটি কেবলমাত্র কাস্টম পোস্ট প্রকারের সূচী পৃষ্ঠায় ঘটে না happen তবে আমি মনে করি এটি অবশ্যই কোনওভাবে কাস্টম পোস্টের প্রকারের সাথে সম্পর্কিত।


সমস্ত পৃষ্ঠায় / পোস্ট / বিভাগগুলিতে সাইডওয়াইড মানে তবে ডাব্লুপি -অ্যাডমিনে নেই, তাই মূলত কোনও সম্মুখভাগ পৃষ্ঠা? PS: ডাব্লু 3টিসি প্লাগইন অক্ষম করা সমস্ত ক্যাচিং কার্যকারিতা তত্ক্ষণাত সরিয়ে দেয় না। আরও ভাল উপায় হ'ল প্লাগইনের মূল বিকল্প পৃষ্ঠাগুলিতে ক্যাশে অক্ষম করা এবং এটি সত্যই ক্যাচিং / ক্যাশে কনফিগারেশন সমস্যার মতো মনে হয়।
s1lv3r

হ্যাঁ পাশের দিকের অর্থ কোনও ফ্রন্টএন্ড পৃষ্ঠা তবে ডাব্লুপি-প্রশাসনের কিছুই নয়। আমি মনে করি না যে এটি ডাব্লু 3 ক্যাশে প্লাগইনটির সাথে কিছু করতে পারে কারণ সক্ষম হওয়ার আগে মাঝে মাঝে বিকাশে আমার এই সমস্যা ছিল।
iiz

2
এগুলি কি কেবল তিনটি নোটিশ? আমার কুণ্ডলীটি হ'ল আপনার ডাটাবেসটি ছাড়ছে, তবে এটি সাধারণত নিজস্ব নোটিশকে ট্রিগার করে।
ম্যাথু বয়েনেস

এই ত্রুটিটি ঘটে ঠিক তখনই আমি এই তিনটি বিজ্ঞপ্তি পাই। এটি এক ঘন্টার মধ্যে ২-৩ বার হয় এবং আমি এর সময়কালে কোনও প্যাটার্ন দেখতে পাচ্ছি না। কেবল হোম / সংরক্ষণাগার নয়, কোনও পৃষ্ঠা অ্যাক্সেস করার চেষ্টা করার সময় এটি ঘটতে পারে। পিএইচপি লগইনের স্তরটি 32767 [E_ALL] এ সেট করা হয়েছে। আমি মনে করি আমি এর আগে WP_DEBUG চেষ্টা করেছি এবং কিছুই দেখতে পেলাম না তবে নিশ্চিত হতে পারি না। এখন প্রশ্নে থাকা সাইটটি লাইভ [! এটির কোনও বিকল্প নেই]। তবে আমি এটির মতো একই পরামিতিগুলির সাথে আরও একটি লুকানো ইনস্টল করতে পারি যদি আপনি মনে করেন যে এটির পক্ষে এটি উপযুক্ত হবে।
iiz

1
কোন অনুরোধটি এটি ট্রিগার করছে তা জানতে আপনি একই সময়ে অ্যাক্সেস লগগুলিতে সন্ধান করতে পারেন?
jezmck

উত্তর:


1

দুটি ধরণের 404 ত্রুটি রয়েছে: ওয়ার্ডপ্রেস-উত্পন্ন, এবং সার্ভার-উত্পন্ন।

কিছু সার্ভার পরিবেশে, 404 গুলি সিপিইউ ওভারলোডের ক্ষেত্রে বা ভুল কনফিগারেশনের নির্দিষ্ট উদাহরণগুলির কারণে সার্ভারের দ্বারা ভুলভাবে প্রদর্শিত হতে পারে server পৃষ্ঠা (সার্ভারের ধরণের উপর নির্ভর করে)।

অন্যান্য পরিস্থিতিতে, "মিথ্যা পজিটিভ" 404 ত্রুটিগুলি ওয়ার্ডপ্রেস (পিএইচপি) দ্বারা উত্পন্ন হতে পারে কারণ সুরক্ষা প্লাগইনগুলি বোঝা সংস্থানগুলিতে অ্যাক্সেস আটকাচ্ছে:

আমি যখন এলিমেন্টরের সাথে কোনও পৃষ্ঠা আপডেট করার চেষ্টা করি তখন কেন আমি মাঝে মাঝে 404 ত্রুটি পাচ্ছি?

https://wordpress.org/support/topic/getting-false-positive-404-errors-with-newest-update/

কোনও সুরক্ষা প্লাগইন অক্ষম করার চেষ্টা করুন, ক্যাশে সাফ করুন এবং পৃষ্ঠাটি রিফ্রেশ করুন। আপনার সার্ভারে ইনস্টল করা মোডসিকিউরিটির মতো সুরক্ষা মডিউলগুলিও সম্ভবত এটির কারণ হতে পারে।

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


0

আপনার সমস্যা সমাধানের জন্য আপনার কাছে পর্যাপ্ত তথ্য নেই। কোনও সমস্যা তদন্ত করতে সম্পূর্ণ স্ট্যাক ট্রেস যুক্ত করার চেষ্টা করুন এবং আপনার ত্রুটি লগটিতে তথ্য অনুরোধ করুন।

আপনার ত্রুটি লগতে স্ট্যাক ট্রেস যুক্ত করতে এবং অনুরোধ করার জন্য তথ্যটি যোগ করতে আপনি নিজের কাস্টম ত্রুটি হ্যান্ডলার তৈরি করতে পারেন।

set_error_handler('wpse_120959_handle_error');

function wpse_120959_handle_error( $errno, $errstr, $errfile, $errline ) {

    if( $errno === E_USER_NOTICE ) {

        $error = PHP_EOL . PHP_EOL;

        $error .= sprintf('You have an error notice: "%s" in file "%s" at line: "%s".', $errstr, $errfile, $errline);
        $error .= wpse_120959_generate_stack_trace() . PHP_EOL;

        $error .= 'Request information:' . PHP_EOL;
        $error .= wpse_120959_generate_http_request_info();

        error_log( $error );
    }
}

// Function from php.net http://php.net/manual/en/function.debug-backtrace.php#112238
function wpse_120959_generate_stack_trace() {

    $e = new \Exception();

    $trace = explode( "\n" , $e->getTraceAsString() );

    // reverse array to make steps line up chronologically

    $trace = array_reverse( $trace );

    array_shift( $trace ); // remove {main}
    array_pop( $trace ); // remove call to this method

    $length = count( $trace );
    $result = array();

    for ($i = 0; $i < $length; $i++) {
        $result[] = ($i + 1)  . ')' . substr( $trace[$i], strpos( $trace[$i], ' ' ) ); // replace '#someNum' with '$i)', set the right ordering
    }

    $result = implode("\n", $result);
    $result = "\n" . $result . "\n";

    return $result;
}

function wpse_120959_generate_http_request_info() {

    $request_info = '';
    $request_info_format = "%s %s %s\nHTTP headers:\n";

    $headers = wpse_120959_get_headers();
    $header_format = "%s: %s \n";

    $request_method  = filter_input( INPUT_SERVER, 'REQUEST_METHOD', FILTER_SANITIZE_STRING );
    $request_uri     = filter_input( INPUT_SERVER, 'REQUEST_URI', FILTER_SANITIZE_STRING );
    $server_protocol = filter_input( INPUT_SERVER, 'SERVER_PROTOCOL', FILTER_SANITIZE_STRING );

    $request_info = sprintf( $request_info_format, $request_method, $request_uri, $server_protocol );

    foreach ( $headers as $name => $value ) {
        $request_info .= sprintf( $header_format, $name, $value );
    }

    return $request_info;
}

function wpse_120959_get_headers() {

    $headers = [];

    foreach ($_SERVER as $name => $value) {

        if (preg_match('/^HTTP_/', $name ) ) {

            $value = filter_input( INPUT_SERVER, $name, FILTER_SANITIZE_STRING );

            $name = strtr( substr( $name, 5 ), '_', ' ');
            $name = ucwords( strtolower( $name ) );
            $name = strtr( $name, ' ', '-' );

            // add to list
            $headers[$name] = $value;
        }
    }

    return $headers;
}

আপনার কোড যেমন single.phpফাইলের মধ্যে কোথাও ট্রিগার_রর যোগ করে এটি কাজ করছে কিনা তা আপনি পরীক্ষা করতে পারেন ।

trigger_error('Annoying notice');

আপনার ত্রুটি লগ এমন কিছু আউটপুট করা উচিত:

2018/07/02 14:26:00 [error] 714#714: *58 FastCGI sent in stderr: "PHP message:

You have an error notice: "Annoying notice" in file "/var/www/test/content/themes/twentyseventeen/single.php" at line: "19".
1) /var/www/test/index.php(17): require('/var/www/test/w...')
2) /var/www/test/wordpress/wp-blog-header.php(19): require_once('/var/www/test/w...')
3) /var/www/test/wordpress/wp-includes/template-loader.php(74): include('/var/www/test/c...')
4) /var/www/test/content/themes/twentyseventeen/single.php(19): trigger_error('Annoying notice')
5) [internal function]: wpse_120959_handle_error(1024, 'Annoying notice', '/var/www/test/c...', 19, Array)

Request information:
GET /hello-world/ HTTP/1.1
HTTP headers:
Accept-Language: en-US;q=0.8,en;q=0.7
Accept-Encoding: gzip, deflate
Referer: http://test.local/
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
User-Agent: Mozilla/5.0 AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1
Upgrade-In" while reading upstream, client: 192.168.10.1, server: test.local, request: "GET /hello-world/ HTTP/1.1", upstream: "fastcgi://unix:/var/run/php/php7.2-fpm.sock:", host: "test.local", referrer: "http://test.local"

এই জাতীয় বার্তার সাহায্যে সমস্যাটি কোথায় তা খুঁজে বের করা আরও সহজ হবে।

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