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, yaniphar.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ındakiexclude_pattern
veexclude_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.