আমি কীভাবে কোনও খিলান লিনাক্সে পিএইচপি (ক্লিপ) এবং পিএইচপি-এফপিএম-এর জন্য পৃথক কনফিগারেশন ফাইল তৈরি করতে পারি


10

পিএইচপি (ক্লিপ) এবং পিএইচপি-এফপিএম-এর জন্য পৃথক php.ini ফাইল তৈরি করা সম্ভব, যেমন দুটি ফোল্ডার /etc/php/7.0/cliএবং দিয়ে ডেবিয়ান এবং উবুন্টুতে এটি সম্ভব /etc/php/7.0/fpm?

আমি যদি conf.dপ্রতিটি সাবসিস্টেমের জন্য একটি ডিরেক্টরি দিয়ে স্বতন্ত্র মডিউলগুলি লোড করতে পারি তবে আমিও শীতল হব ।

কারও কি ধারণা আছে যে আমি কীভাবে এটি আলাদাভাবে কনফিগার করতে পারি?

আমি কাঠামোটি ব্যবহার করার চেষ্টা করেছি যেমন এটি সাফল্য ছাড়াই ওবুন্টু 16.04 এ কনফিগার করা আছে।

উত্তর:


11

আমি আমার সমস্যা সমাধানের জন্য কয়েকটি টুইট পেয়েছি।

প্রথম : একটি পৃথক php.iniফাইল লোড করুন :

একটি খিলান লিনাক্স ফোরামের একজন ব্যবহারকারী এটি man phpপৃষ্ঠা থেকে পোস্ট করেছেন :

FILES
   php-cli.ini    The configuration file for the CLI version of PHP.

   php.ini        The standard configuration file will only be used when php-cli.ini cannot be found.

যদি আমি কোনও /etc/php/php-cli.iniফাইল তৈরি করি তবে এই ফাইলটি লোড হবে এবং ক্লাইম কমান্ড /etc/php/php.iniদিয়ে নয় phpphp-fpmএখনও লোড হয় /etc/php/php.ini

দ্বিতীয় : বিভিন্ন মডিউল কনফিগারেশন লোড করুন:

আমি খুঁজে পেয়েছি পিএইচপি ডকুমেন্টেশনPHP_INI_SCAN_DIR এনভায়রনমেন্ট ভেরিয়েবল। অতএব, আমি সরানো হয়েছে /usr/lib/systemd/system/php-fpm.serviceফাইল /etc/systemd/system/php-fpm.serviceএবং সেবা ফাইলে নিম্নলিখিত কনফিগারেশন যোগ করেছেন:

[Unit]
Description=The PHP FastCGI Process Manager
After=syslog.target network.target

[Service]
Type=notify
Environment="PHP_INI_SCAN_DIR=/etc/php/fpm/conf.d" ; <-- I have added this line
PIDFile=/run/php-fpm/php-fpm.pid
ExecStart=/usr/bin/php-fpm --nodaemonize --fpm-config /etc/php/php-fpm.conf
ExecReload=/bin/kill -USR2 $MAINPID

[Install]
WantedBy=multi-user.target

পরিষেবাগুলি পুনরায় চালু / পুনরায় লোড করার পরে, পিএইচপি-এফএমপি কেবলমাত্র ফাইলগুলি লোড করে /etc/php/fpm/conf.dএবং এর থেকে আর নেই /etc/php/conf.d। এটি আমাকে পৃথকভাবে ক্লিপ এবং এফএমপি কনফিগার করতে দেয়।

সম্ভবত এটি সেরা সমাধান নয় তবে আমি আমার ইউজকেসগুলির সাথে ফিট করে। সবার যদি আরও ভাল সমাধান হয় তবে আপনার উত্তর পোস্ট করতে দ্বিধা করবেন না!


1
এই দ্বিতীয় পদ্ধতিরটি ডিবাগিংয়ের জন্য অত্যন্ত কার্যকর, যেমন আপনি পিএইচপি-এফএমপি সার্ভিসের প্রত্যয়যুক্ত অনুলিপি তৈরি করেন এবং ফাইলগুলি / ডিআরএফগুলি তৈরি করেন, আপনার যেমন আলাদা একটি এফএমপি কনফিগারেশন নির্দিষ্ট করে থাকেন, বিকল্পভাবে আলাদা --php-iniআইএনই নির্দিষ্ট করেন , তারপরে কেবল দ্বিতীয়টিতে xdebug লোড করুন সেবা। অবশ্যই, দ্বিতীয় পরিষেবাটি একটি ভিন্ন বন্দর / সকেটে চালানো দরকার। আমি Environment="PHP_INI_SCAN_DIR=/etc/php-debugger.d:"আমার সার্ভিস ফাইলে সেট করেছিলাম , কোলন যুক্ত হয়েছে তাই এটি ডিয়ারে অনুলিপি করা xdebug এর সাথে সাথে সমস্ত ডিফল্ট মডিউল লোড করে debugger.d
ওয়ালফ

3

আপনি ক্লিপ সংস্করণের জন্য সর্বদা এটি করতে পারেন:

পিএইচপি-সি / পাথ / টো / আপনার / পিপিপিআইএনআই i

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

# ~ / .bashrc
# উপন্যাস এবং ব্যক্তিগত ফাংশন

# পিএইচপি উত্স ব্যক্তিগত ini
ওরফে পিএইচপি = 'পিএইচপি-সি /পাথ / টো ইয়োর / পিএইচপি.আইএনই'

# রঙিন করুন
ওরফে ls = 'ls - রঙ'
...

আপনি কোন সংস্করণ (গুলি) ব্যবহার করছেন তা যদি আপনি বলতেন তবে ভাল হত


সুন্দর ধারণা, তবে ঠিক আমি যা খুঁজছি তা নয়। অন্য কোনও উপায় না থাকলে সম্ভবত। ধন্যবাদ।
Fiete

ভাল, সম্ভবত আছে, দয়া করে পিএইচপি, পিএইচপি-এফপিএম এবং আপনার বেসিক সেটআপ (আপনি কি এনজিনেক্স, অ্যাপাচি ইত্যাদি ব্যবহার করছেন) এর কোন সংস্করণটি ভাগ করে নিন। আপনার কীভাবে পিএইচপি-এফপিএম সেটআপ আছে। সম্ভবত সেখান থেকে, আমরা সহায়ক হতে পারি
the_architecht
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.