حزمة 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.