phar প্যাকেজিং

phar হলো PHP এর মধ্যে JAR এর মতো একটি প্যাকেজ ফাইল, আপনি phar ব্যবহার করে আপনার webman প্রকল্পকে একটি একক phar ফাইলে প্যাকেজ করতে পারেন, যা পরিচালনা করতে সহজ।

এখানে বিশেষভাবে ধন্যবাদ fuzqing এর PR সহায়তার জন্য।

বিধি
আপনাকে php.ini এর phar কনফিগারেশন বিকল্প বন্ধ করতে হবে, অর্থাৎ phar.readonly = 0 সেট করতে হবে।

কমান্ড লাইন টুল ইনস্টল করুন

composer require webman/console

প্যাকেজিং

webman প্রকল্পের মূল ডিরেক্টরিতে কমান্ডটি চালান php webman build:phar
এটি build ডিরেক্টরিতে একটি webman.phar ফাইল তৈরি করবে।

প্যাকেজিং সম্পর্কিত কনফিগারেশন config/plugin/webman/console/app.php এ রয়েছে।

শুরু ও বন্ধ সম্পর্কিত কমান্ড

শুরু করুন
php webman.phar start অথবা php webman.phar start -d

বন্ধ করুন
php webman.phar stop

অবস্থার অবলোকন করুন
php webman.phar status

সংযোগ অবস্থার অবলোকন করুন
php webman.phar connections

পুনরায় শুরু করুন
php webman.phar restart অথবা php webman.phar restart -d

বিবরণ

  • প্যাকেজিং করা প্রকল্পের জন্য reload সমর্থিত নয়, কোড আপডেট করতে restart প্রয়োজন।

  • প্যাকেজ ফাইলের আকার খুব বড় না হয়ে যায় এবং অতিরিক্ত মেমরি দখল না করে, config/plugin/webman/console/app.phpexclude_pattern exclude_files বিকল্পগুলি ব্যবহার করে অপ্রয়োজনীয় ফাইলগুলি বাদ দেওয়া যেতে পারে।

  • webman.phar চালানোর পর, webman.phar যেখানে অবস্থিত সেখানে একটি runtime ডিরেক্টরি তৈরি হবে, যা লগ ফাইল এবং অন্যান্য সাময়িক ফাইল সংরক্ষণের জন্য ব্যবহৃত হবে।

  • যদি আপনার প্রকল্পে .env ফাইল ব্যবহার হয়, তাহলে আপনাকে .env ফাইলটি webman.phar যেখানে অবস্থিত সেখানে রাখতে হবে।

  • ব্যবহারকারী দ্বারা আপলোড করা ফাইলগুলি phar প্যাকে সংরক্ষণ করবেন না, কারণ phar:// প্রোটোকল ব্যবহার করে ব্যবহারকারী দ্বারা আপলোড করা ফাইলগুলি পরিচালনা করা অত্যন্ত বিপজ্জনক (phar অবসান দুর্বলতা)। ব্যবহারকারী দ্বারা আপলোড করা ফাইলগুলো অবশ্যই আলাদা ডিস্কে phar প্যাকের বাইরে সংরক্ষণ করতে হবে, নিচে দেখুন।

  • যদি আপনার ব্যবসার প্রয়োজন হয় public ডিরেক্টরিতে ফাইল আপলোড করা, তাহলে আপনাকে public ডিরেক্টরিকে আলাদা করে webman.phar যেখানে অবস্থিত সেখানে রাখতে হবে, তখন আপনাকে config/app.php কনফিগার করতে হবে।

    'public_path' => base_path(false) . DIRECTORY_SEPARATOR . 'public',

    ব্যবসা সাহায্যকারী ফাংশন public_path($ফাইলের আপেক্ষিক অবস্থান) ব্যবহার করে বাস্তব public ডিরেক্টরির অবস্থান খুঁজে পেতে পারে।

  • মনে রাখবেন webman.phar উইন্ডোজে কাস্টম প্রসেস শুরু করতে সমর্থন করে না।