আমি একটি পাসের সাথে Nginx 1.2.4সংমিশ্রণে ব্যবহার করছি এবং এতে কাস্টম প্যারামিটারগুলি পাস করার চেষ্টা করছি । আমি এখন পর্যন্ত যে বিকল্পগুলি পেয়েছি তা এখানে:PHP-FPM 5.4.8fastcgiPHP
envপরিবেশের পরিবর্তনশীল সেট করতেnginxএবং এর সাথেgetenv()বা$_ENVএনে আনতে নির্দেশকে ব্যবহার করেPHP। সমস্যাটিenvকেবলমাত্রmainপ্রসঙ্গে পরিচালিত হয় যেখানে আমারserverপ্রসঙ্গে পরামিতি সেট করা দরকার ।fastcgi_paramনির্দেশটি যেমন এটির জন্য ডিজাইন করা হয়েছে তেমন ব্যবহার করে ।
আমি কিছু পরামিতি ব্যবহার করে মান ব্যবহার করে চেষ্টা করেছি fastcgi_paramতবে ব্যর্থ হয়েছিল:
nginx:
fastcgi_param PATH_INFO "/var/tmp";
পিএইচপি:
আমি যে পূর্বনির্ধারিত অ্যারেগুলি পেতে পারি তা যাচাই করেছিলাম:
echo '<pre>';
echo "\n".'$GLOBALS'."\n"; var_dump($GLOBALS);
echo "\n".'$_SERVER'."\n"; var_dump($_SERVER);
echo "\n".'$_GET'."\n"; var_dump($_GET);
echo "\n".'$_POST'."\n"; var_dump($_POST);
echo "\n".'$_FILES'."\n"; var_dump($_FILES);
echo "\n".'$_REQUEST'."\n"; var_dump($_REQUEST);
echo "\n".'$_SESSION'."\n"; var_dump($_SESSION);
echo "\n".'$_ENV'."\n"; var_dump($_ENV);
echo "\n".'$_COOKIE'."\n"; var_dump($_COOKIE);
echo "\n".'$php_errormsg'."\n"; var_dump($php_errormsg);
echo "\n".'$HTTP_RAW_POST_DATA'."\n"; var_dump($HTTP_RAW_POST_DATA);
echo "\n".'$http_response_header'."\n"; var_dump($http_response_header);
echo "\n".'$argc'."\n"; var_dump($argc);
echo "\n".'$argv'."\n"; var_dump($argv);
echo '</pre>';
শুধুমাত্র শো এক PATH_INFOছিল $_SERVER:
var_dump($_SERVER); // ["PATH_INFO"]=> string(0) ""
তবে আমি যে মানটি সেট করেছিলাম তা আমলে nginxনেওয়া হয় নি।
প্রশ্ন 1: নির্দেশটি কার্যকর করার nginx/phpজন্য আমার কি স্তরের কোনও কিছু কনফিগার fastcgi_paramকরতে হবে?
প্রশ্ন 2: fastcgi_paramনির্দেশটি কি প্যারামিটারগুলির পূর্বনির্ধারিত তালিকার মধ্যে সীমাবদ্ধ (যেমন আমি সেট করতে পারি PATH_INFOতবে আমার নিজস্ব কাস্টম ভেরিয়েবলগুলি নয় FOO)?
Q3: যদি হ্যাঁ Q2: Nginx থেকে পিএইচপি থেকে কাস্টম প্যারামিটারগুলি পাশ করার কোনও উপায় আছে?
fastcgi.confএবংfastcgi_paramsকিন্তুfastcgi-php.conf: যেখানে আপনি এটি থেকে পেতে পারি? পেস্টবিনের মাধ্যমে ভাগ করে নিতে কি আপত্তি আছে?