প্রতি-ভার্চুয়ালহোস্ট লগ ফাইলগুলিতে লিখতে এনজিআইএনএক্সের মাধ্যমে কীভাবে পিএইচপি-এফপিএম কনফিগার করতে হয়


11

আমার ফেডোরা 16 আছে এনগিনেক্স এবং পিএইচপি-এফপিএম সহ। সবকিছু খুব ভাল কাজ করছে। পিএইচপি বিজ্ঞপ্তি, সতর্কতা, ত্রুটি ইত্যাদি সহ সমস্ত লগ রয়েছে /var/log/php-fpm/www-error.log

এনগিনেক্সের ত্রুটিযুক্ত লগ হিসাবে কনফিগার করা সঠিক লগ ফাইলগুলিতে ত্রুটিগুলি লিখতে পিএইচপি-এফপিএম কনফিগার করার কোনও উপায় আছে কি? সুতরাং আমি পিএইচপি ত্রুটিগুলি প্রতি ভার্চুয়ালহোস্টে লগ করতে চাই এবং একটি গ্লোবাল ফাইলে নয়। (অ্যাপাচি এইচটিপিডি এবং পিএইচপি এর মতো)।

উত্তর:


14

পিএইচপি-এফপিএম নির্দেশনা: catch_workers_output = yes পিএইচপি stdout / stderr এর প্রেরণে ত্রুটি সৃষ্টি করবে এবং nginx এ ফেরত পাঠাতে হবে এবং তারা লগ হবে be

পিএইচপি 5.2.4 এবং নতুন সালে ডিরেক্টিভের display_errors আর একটি বুলিয়ান, কিন্তু একটি বিকল্প হিসাবে 'দ্বারা stderr' গ্রহণ করব। এর ফলে সমস্ত ত্রুটিগুলি এনজিনেক্সে ফিরে যেতে হবে এবং প্রতি ভোস্টে লগ করা উচিত।

সুতরাং আপনার পিএইচপি-এফপিএম কনফিগারেশনে:

php_admin_value[display_errors] = 'stderr'

আপনার অন্য বিকল্পটি হ'ল নির্দেশনা:

php_admin_value[error_log] = /var/log/fpm-php.www.log

যা সম্ভবত আপনি এখন ব্যবহার করছেন। php-fpm.conf কিছু ভেরিয়েবল সমর্থন করে, যেমন $ পুল (যা আপনার পক্ষে সম্ভবত 'www' ফিরিয়ে দেবে)।

আপনার যদি 1 টিরও বেশি পুল থাকে তবে আপনি সহজেই এগুলি আলাদাভাবে লগ ইন করতে পারেন।

উত্স কোডের মাধ্যমে একটি দ্রুত ব্রাউজ করা থেকে দেখে মনে হচ্ছে $ পুলটি যদিও এই ধরণের পরিবর্তনশীল।


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