পিএইচপি প্রস্থান স্থিতি 255: এর অর্থ কী?


33

আমি সম্প্রতি একটি পিএইচপি 5.2.9 বাইনারি সংকলন করেছি এবং আমি এটি দিয়ে কিছু পিএইচপি স্ক্রিপ্টগুলি কার্যকর করার চেষ্টা করেছি। আমি সমস্যা ছাড়াই কিছু স্ক্রিপ্ট সম্পাদন করতে পারি, তবে এর মধ্যে একটির মধ্য দিয়েই এর সম্পাদন বন্ধ হয়ে যায়, কোনও ত্রুটি বা সতর্কতা না দিয়ে বেরিয়ে আসে। প্রক্রিয়াটির ফিরে আসা স্থিতি কোডটি 255।

আমি ম্যানুয়ালটিতে পড়েছি যে এই জাতীয় স্থিতিটি 'সংরক্ষিত'। প্রশ্নটি: কার জন্য?

আমি বিশ্বাস করি এটি পিএইচপি এক্সিকিউটেবলের মধ্যে নিখোঁজ নির্ভরতাগুলির সাথে কিছু করার ছিল তবে আমি নিশ্চিত হতে পারি না।

255 এর একটি প্রস্থান কোডটির অর্থ কী কেউ জানেন?

PS পিএইচপি স্ক্রিপ্টগুলিতে কোনও ত্রুটি নেই, তারা অন্য মেশিনে ওকে চালায়।

উত্তর:


34

255 একটি ত্রুটি, আমি মারাত্মক ত্রুটিযুক্ত হয়ে একই প্রস্থান কোডটি পুনরুত্পাদন করতে পারি।

এর অর্থ হ'ল কোনওভাবে আপনার ত্রুটির প্রতিবেদন লুকানো রয়েছে, এর কয়েকটি সম্ভাব্য কারণ রয়েছে:

  • error_reporting সংজ্ঞায়িত করা হয় নি এবং পিএইচপি কোনও ক্ষেত্রেই ত্রুটি প্রতিবেদন করে না
  • একটি @(ত্রুটি দমন অপারেটর) ত্রুটির ফলাফল আড়াল করে
  • STDERR অন্য কোথাও পুনঃনির্দেশিত হয়েছে (php -f somefile.php 2> / dev / নাল, পুনঃনির্দেশটি সরান)
  • নিখোঁজ নির্ভরতাগুলির কারণে এটি এখনও একটি অভ্যন্তরীণ ত্রুটি হতে পারে এবং একটি মারাত্মক ত্রুটির প্রোগ্রাম ক্রাশের মতোই প্রস্থান কোড রয়েছে।

1
উইন্ডোজের কিছু বিরল ক্ষেত্রে এটি একটি ভাঙা php.iniফাইলের সাথে সম্পর্কিত (যেমন ফাইলটির ভিতরে অক্ষর রয়েছে)। এটি বের করার জন্য আমাকে 2 ঘন্টা সময় নিয়েছে। টিপ: যদি আপনার স্ক্রিপ্ট (যেমন composer.phar) এর সাথে কাজ করে php -n composer.pharতবে php.iniসম্ভবত আপনার ফাইলটি নষ্ট হয়ে গেছে।
tftd

9

এর অর্থ /etc/php5/cli/php.iniএইও হতে পারে যে (ডিবিয়ান / উবুন্টুতে) বা /etc/php.ini(আরএইচইল / সেন্টোস / ইত্যাদিতে) এর display_errors = Offঅর্থ হ'ল কমান্ড-লাইন স্ক্রিপ্টগুলির কোনও ত্রুটি বা সতর্কবাণী কোথাও যাবে না, যদি না log_errors = On( সেটিংটিও দেখুন error_log)।

আপনার স্ক্রিপ্টগুলি একটি মোড়ক স্ক্রিপ্ট ব্যবহার করে চালানোর চেষ্টা করুন php -d display_errors=on ...


3
আমি টিপটির জন্য ধন্যবাদ জানাতে চাই someone -d display_errors=onআমি কারও পিএইচপি অ্যাপ্লিকেশনটির জন্য একটি কাস্টম স্ক্রিপ্ট ডিবাগ করার চেষ্টা করছিলাম যা সমস্ত ব্যতিক্রম লগিংটি নিজেই পরিচালনা করার চেষ্টা করে, তবে প্রায়শই ব্যতিক্রমগুলি খায়। এই পতাকাটি ব্যবহার করে আমি সিএলআইতে মুদ্রণের ব্যতিক্রম পেতে পারি!
গেরলিংগুয়ে

আমার ক্ষেত্রে, এটি আমাকে দেখিয়েছিল যে পিএইচপি স্ক্রিপ্ট এটি সর্বোচ্চ কার্যকর সময় exceed দুর্দান্ত টিপ জন্য ধন্যবাদ!
ম্যাক্স ভার্নন

0

এটি পিএইচপি চাপা ত্রুটি বার্তাগুলির কারণে হতে পারে (লাইনটি @ দিয়ে শুরু হয়)। আমি লাইনটি খুঁজে পেয়েছি

grep -r "@" src/ 

এবং তারপরে @ মন্তব্য করে। এর পরে আমি আসল ত্রুটি পেয়েছি এবং সহজেই এটি ঠিক করতে সক্ষম হয়েছি। এরপরে আমি আরও লক্ষ্য করেছি যে পিএইচপিএসটারম ইতিমধ্যে একই ত্রুটিটি খুঁজে পেয়েছিল তবে আমি এটি স্থির / লক্ষ্য করেছি না।


0

এটি এর অর্থও হতে পারে

  • /etc/php5/cli/php.ini (দেবিয়ান / উবুন্টুতে)

  • /etc/php.ini (আরএইচইএল / সেন্টোস / ইত্যাদিতে)

নির্দিষ্ট করা হয়েছে

display_errors = Off 

যার অর্থ হ'ল কমান্ড-লাইন স্ক্রিপ্টগুলির কোনও ত্রুটি বা সতর্কতা কোথাও যাবে না, যদি না

log_errors = On 

ত্রুটি_লগ সেটিংসটিও দেখুন।

আপনার স্ক্রিপ্টগুলি একটি মোড়ক দিয়ে চালানোর চেষ্টা করুন


0

আমার ক্ষেত্রে এটি ছিল কম দামের কারণে xDebug মৃত্যু xdebug.max_nesting_level

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