حزمة phar
phar هو ملف حزمة مشابه لـ JAR في PHP، يمكنك استخدام phar لتجميع مشروع webman الخاص بك في ملف phar واحد، مما يسهل النشر.
شكر خاص لـ fuzqing على PR الخاص به.
تنبيه
تحتاج إلى إيقاف خيار إعداد phar فيphp.ini
، أي ضبطphar.readonly = 0
تثبيت أداة سطر الأوامر
composer require webman/console
الحزمة
قم بتنفيذ الأمر php webman build:phar
في الدليل الجذر لمشروع webman
ستتم إنشاء ملف webman.phar
في دليل bulid.
يتم تكوين إعدادات الحزمة في
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، لتحديث الشفرة تحتاج إلى إعادة التشغيل
-
لتجنب أن تكون حزمة الملفات كبيرة جدًا وتستهلك ذاكرة زائدة، يمكنك ضبط خيارات
exclude_pattern
وexclude_files
فيconfig/plugin/webman/console/app.php
لاستبعاد الملفات غير الضرورية. -
بعد تشغيل webman.phar، سيتم إنشاء دليل runtime في الدليل حيث يوجد webman.phar، لتخزين السجلات وملفات مؤقتة أخرى.
-
إذا كان مشروعك يستخدم ملف .env، تحتاج إلى وضع ملف .env في الدليل حيث يوجد webman.phar.
-
لا تقم أبدًا بتخزين الملفات التي يرفعها المستخدم في حزمة phar، لأن التعامل مع الملفات المرفوعة من قبل المستخدم باستخدام بروتوكول
phar://
يعد خطيرًا جدًا (ثغرة deserialization في phar). يجب تخزين الملفات المرفوعة من قبل المستخدم بشكل منفصل على القرص خارج حزمة phar، انظر أدناه. -
إذا كانت أعمالك تحتاج إلى رفع الملفات إلى دليل public، تحتاج إلى فصل دليل public ووضعه في الدليل حيث يوجد webman.phar، وفي هذه الحالة تحتاج إلى تكوين
config/app.php
.'public_path' => base_path(false) . DIRECTORY_SEPARATOR . 'public',
يمكن للأعمال استخدام دالة المساعد
public_path($مسار النسبي للملف)
للعثور على موقع دليل public الفعلي. -
لاحظ أن webman.phar لا يدعم تشغيل العمليات المخصصة على Windows.