লিনাক্সে এক্সিকিউট কমান্ড কার্যকর করার অনুমতি না পাওয়ার জন্য পিএইচপি এর সমাধান
সম্পর্কিত সরকারী রেফারেন্স
PHP exec Linux sudoers file Sudo Commandsফাস্টসিগি মোডে চলাকালীন পরিবর্তন
যখন পিএইচপি ফাস্টসিগি মোডে চলমান থাকে তখন এর অনুমতিগুলি তার হোস্ট প্রোগ্রাম থেকে উত্তরাধিকার সূত্রে প্রাপ্ত হয়। আমরা অ্যাপাচি ব্যাখ্যা করার উদাহরণ হিসাবে নিই। প্রথমত, আমাদের যে অ্যাকাউন্টের অধীনে অ্যাপাচি চলছে তা সন্ধান করতে হবে, তারপরে / etc / sudoers ফাইল সম্পাদনা করতে vi বা vim ব্যবহার করুন এবং নিম্নলিখিত রেফারেন্স উদাহরণটি ফাইলটিতে যুক্ত করুন। নিম্নলিখিত কন্টেন্টে, প্রথমে পিপি কমান্ডটি অ্যাপাচি প্রক্রিয়াটি httpd সন্ধান করার জন্য ব্যবহার করুন, প্রত্যাশিত ফলাফলের বামদিকে অ্যাকাউন্টের তথ্যটি দেখুন এবং তারপরে অ্যাপাচে অ্যাকাউন্টে অনুমোদনের জন্য sudoers ফাইলটি সম্পাদনা করুন।
ps aux | grep httpd
vim /etc/sudoers
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
apache ALL=(ALL) NOPASSWD:ALL
পিএইচপি-এফপিএম মোডে চলাকালীন পরিবর্তন
পিএইচপি-এফপিএম মোডে চলার সময়, এটি একটি পৃথক প্রক্রিয়া হিসাবে চলে। সুতরাং আমরা প্রথমে এটির চলমান অ্যাকাউন্টটি সন্ধান করি এবং তারপরে উপরের মতো অনুমোদনের ক্রিয়াকলাপ সম্পাদন করি।
ps aux | grep php-fpm
vim /etc/sudoers
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
www ALL=(ALL) NOPASSWD:ALL
পরিবর্তনগুলি কার্যকর হয় কিনা তা যাচাই করুন
উপরের ক্রিয়াকলাপগুলির পরে, আমরা অনুমোদনটি পরিবর্তন করেছি, তবে এটি এখনও কার্যকর হয়নি taken আমাদের পরিবর্তনটি কার্যকর করতে আমাদের পরিষেবাটি পুনরায় চালু করতে হবে। আমাদের আসল পরিস্থিতি অনুসারে, অ্যাপাচি বা পিএইচপি-এফপিএম পরিষেবাটি পুনরায় চালু করুন। তারপরে ফিরে আসা ফলাফলটি দেখতে এক্সিকিউট কমান্ডটি কার্যকর করুন the
exec('sudo dmidecode -s system-serial-number', $result);
var_dump($result);