বিভিন্ন সার্ভার পরিবেশে, পিএইচপি $_SERVER['DOCUMENT_ROOT']
সুপার গ্লোবাল কখনও কখনও একটি পিছনে স্ল্যাশ হয় এবং কখনও কখনও এটি না। আমি ভাবতাম এই সমস্যাটি সরাসরি ফাইলের DocumentRoot
মধ্যে অ্যাপাচি কীভাবে সংজ্ঞায়িত করা হয়েছে তার সাথে সম্পর্কিত httpd.conf
:
উদাহরণস্বরূপ আমি ভেবেছিলাম যে যদি httpd.conf
এতে কোনও পিছনে স্ল্যাশ না থাকে:
<VirtualHost *:8880>
DocumentRoot /var/www/live/current
...
তারপর echo $_SERVER['DOCUMENT_ROOT']
উচিত দিতে প্রথমেই / var / WWW / লাইভ / বর্তমান
এবং যদি httpd.conf
এতে একটি পিছনে স্ল্যাশ থাকে:
<VirtualHost *:8880>
DocumentRoot /var/www/live/current/
...
তারপর echo $_SERVER['DOCUMENT_ROOT']
উচিত দিতে প্রথমেই / var / WWW / লাইভ / বর্তমান /
এটি উবুন্টু 10.04 এ ক্ষেত্রে তবে আরএইচএল 5.5- $_SERVER['DOCUMENT_ROOT']
এ অ্যাপাচি-তে কোনওটির সংজ্ঞা না থাকলেও একটি পিছনে স্ল্যাশ যুক্ত করা হয়েছে ।
কোন ধারণা কেন এমন হয়? আমি কি অনুভব করছি এমন কোনও কনফিগারেশন প্যারামিটার রয়েছে?
রেফারেন্সের জন্য:
- পিএইচপি 5.3.3 এর আরএইচইএল (সমস্যাটি দেখা দেয়): পিএইচপি 5.3.3 (ক্লায়েন্ট) (নির্মিত: জুলাই 23 2010 16:26:53)
- উবুন্টুর পিএইচপি সংস্করণ (কোনও ইস্যু নেই): পিএইচপি 5.3.2-1ubuntu4.2 সুহসিন-প্যাচ (ক্লায়ার) সহ (নির্মিত: মে 13 2010 20:03:45)
$realpath = realpath($_SERVER['DOCUMENT_ROOT']);
। এটি স্বয়ংক্রিয়ভাবে সমস্ত একাধিক স্ল্যাশ এবং অনুসরণকারীটিকে সরিয়ে দেয়। যদি আপনি সর্বদা একটি পিছনের স্ল্যাশ চান তবে উপরের কলটির ফলাফলের সাথে এটি সংযুক্ত করেrealpath()
। এর ভিতরে নয়।