phar paketleme

phar, PHP'de JAR'a benzer bir paketleme dosyasıdır; webman projenizi tek bir phar dosyası haline getirerek kolayca dağıtımını sağlayabilirsiniz.

Bu PR için fuzqing'e çok teşekkür ederiz.

Dikkat
php.ini'deki phar yapılandırma seçeneğini kapatmanız gerekmektedir, yani phar.readonly = 0 olarak ayarlayın.

Komut satırı aracını kurma

composer require webman/console

Paketleme

webman projesinin ana dizininde php webman build:phar komutunu çalıştırın, böylece build dizininde webman.phar dosyası oluşturulacaktır.

Paketleme ile ilgili yapılandırmalar config/plugin/webman/console/app.php dosyasında bulunmaktadır.

Başlatma ve durdurma ile ilgili komutlar

Başlatma
php webman.phar start veya php webman.phar start -d

Durdurma
php webman.phar stop

Durumu kontrol etme
php webman.phar status

Bağlantı durumunu kontrol etme
php webman.phar connections

Yeniden başlatma
php webman.phar restart veya php webman.phar restart -d

Açıklamalar

  • Paketlendikten sonra projeyi reload desteklemez, kod güncellemeleri için restart ile yeniden başlatma yapmanız gerekmektedir.

  • Paket dosyasının boyutunun fazla büyük olmaması için, config/plugin/webman/console/app.php dosyasındaki exclude_pattern ve exclude_files seçeneklerini ayarlayarak gereksiz dosyaları hariç tutabilirsiniz.

  • webman.phar çalıştırıldıktan sonra, webman.phar'ın bulunduğu dizinde log gibi geçici dosyalar için runtime dizini oluşturulacaktır.

  • Eğer projenizde bir .env dosyası kullanıyorsanız, .env dosyasını webman.phar'ın bulunduğu dizine yerleştirmeniz gerekmektedir.

  • Kullanıcı tarafından yüklenen dosyaların phar paketine depolanmaması gerektiğini unutmayın; çünkü phar:// protokolü ile kullanıcı tarafından yüklenen dosyalarla çalışmak oldukça tehlikelidir (phar deserialization zafiyeti). Kullanıcı tarafından yüklenen dosyalar, phar paketinin dışındaki bir diskte ayrı olarak depolanmalıdır, aşağıya bakınız.

  • İşletmeniz, public dizinine dosya yüklenmesini gerektiriyorsa, public dizinini ayrı tutarak webman.phar'ın bulunduğu dizine yerleştirmeniz gerekmektedir, bu durumda config/app.php dosyasını yapılandırmalısınız.

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

    İşletmeniz, yardımcı fonksiyon public_path($dosya göreli konumu) kullanarak gerçek public dizin konumunu bulabilir.

  • webman.phar'ın Windows altında özel süreçleri başlatmayı desteklemediğini unutmayın.