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 সমর্থন করে না; কোড আপডেটের জন্য রিস্টার্ট প্রয়োজন।

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

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

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

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

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

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

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

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