উত্তর:
ম্যানুয়াল পৃষ্ঠাটি flock(2)
দীর্ঘ সময়ের জন্য অতিক্রান্ত ছিল, তবে এর পরে (জোর দেওয়া খনি) বলতে আপডেট করা হয়েছে:
লিনাক্স ২.6.১২ থেকে এনএফএস ক্লায়েন্টরা পুরো ফাইলে বাইট-রেঞ্জের লক হিসাবে অনুকরণ করে প্লে () লক সমর্থন করে। এর অর্থ হ'ল fcntl (2) এবং ফ্লক () লকগুলি এনএফএসের মাধ্যমে একে অপরের সাথে যোগাযোগ করে। লিনাক্স ২.6.৩7 যেহেতু, কার্নেল একটি সামঞ্জস্যতা মোড সমর্থন করে যা ফ্লক () লকগুলি (এবং এফসিএনটিএল (২) বাইট অঞ্চল লক) স্থানীয় হিসাবে গণ্য করতে দেয়; এনএফএস (5) এ লোকাল_লক বিকল্পের আলোচনা দেখুন।
এটি অফিসিয়াল ম্যান-পৃষ্ঠাগুলির ওয়েবসাইট, http://man7.org/linux/man-pages/man2/flock.2.html যা ম্যান-পৃষ্ঠা ৪.০০ থেকে নতুন সংস্করণ দেখায়
লিনাক্স 2.6.12 2005 সালে প্রকাশিত হয়েছিল।
এটি মূলত জান্নবের উত্তরের মন্তব্য হিসাবে বোঝানো হয়েছিল, কিন্তু আমার সুনাম ছিল না সেই সময়ে। ডক আপডেটটি 2014 সালে ঘটেছিল: http://git.kernel.org/cgit/docs/man-pages/man-pages.git/commit/man2/flock.2?id=e449654fdb3f19aafc569df47d12bffdf6276236
আমি জানি না কীভাবে পিএইচপি flock()
ফাংশন বাস্তবায়িত হয়, তবে ধরে নেওয়া এটি flock()
সিস্কেলের একটি ইন্টারফেস , তবে এটি এনএফএসে পুরোপুরি কার্যকর হয় না। flock()
ম্যানপেজ থেকে :
ফ্লক (2) এনএফএসের মাধ্যমে ফাইলগুলি লক করে না। পরিবর্তে fcntl (2) ব্যবহার করুন: এটি লিনাক্স সমর্থন করে এমন একটি লিনাক্সের যথেষ্ট পরিমাণে সংস্করণ এবং সার্ভারের সাহায্যে এনএফএসে কাজ করে।
এবং, অবশ্যই, একটি ম্যান পেজ যা বলে, তার সবকিছুই চূড়ান্ত সত্য।
flock()
পিএইচপি সহ লিনাক্স এনএফএসে ঠিক কাজ করে। আমরা এটি ব্যাপকভাবে ব্যবহার করি এবং এটি পছন্দসই হিসাবে কাজ করছে তা যাচাই করার জন্য এটির পুরোপুরি পরীক্ষা করেছি। আপনি ক্লায়েন্ট এবং সার্ভার উভয়ই প্রয়োজনীয় পরিষেবাগুলি চালাচ্ছেন কিনা তা পরীক্ষা করে দেখুন। "পোর্টম্যাপার" এবং "rpc.statd" সন্ধান করুন। যদি তারা চলমান না থাকে তবে আপনার ডিস্ট্রোতে কোন সূচনা স্ক্রিপ্টগুলি এগুলি শুরু করে তা আপনাকে খুঁজে বের করতে হবে। ডেবিয়ান-ভিত্তিক ডিস্ট্রোজে এটি " /etc/init.d/portmap
" এবং " /etc/init.d/nfs-common
" রয়েছে।
ক্লায়েন্টের কাছ থেকে, " rpcinfo -u $NFSSERVER status
" চালনা করুন এবং আপনি কোনও প্রতিক্রিয়া পেয়েছেন কিনা তা দেখুন। আমার সেটআপে, আমি ফলাফল হিসাবে "প্রোগ্রাম 100024 সংস্করণ 1 প্রস্তুত এবং অপেক্ষায়" পাই।
ওহ, এও মনে রাখবেন যে ক্লায়েন্ট এবং সার্ভার উভয়েরই একে অপরের জন্য নির্ভরযোগ্য হোস্টনাম এন্ট্রি না থাকলে কিছু পরিস্থিতিতে এনএফএস এবং স্ট্যাটড বিচলিত হতে পারে। /etc/hosts
দুটি মেশিনে ডাবল চেক করুন।
শুধু নিজের উত্তর দিতে চেয়েছি। সমাধানটি এখানে পাওয়া যাবে: http://us3.php.net/manual/en/function.flock.php#82521