zinnector dev, projenizdeki eklentileri ve temaları seçtiğiniz bir PHP sürümüyle sunarak kendi makinenizde gerçek bir WordPress çalıştırır. Bu makale, kullanabileceği iki çalışma zamanını, sürümlerin nasıl seçileceğini, neyin nereden sunulduğunu ve çalışma zamanının diskte nerede bulunduğunu açıklamaktadır; böylece yerel ortamda test ettiğiniz şey ile dağıttığınız şey aynı olur.
İki çalışma zamanı ve ikisinin de neden gerçek olduğu
Playground varsayılandır. WordPress Playground, PHP'yi WebAssembly'ye derler ve Node içinde çalıştırır; bu sayede yalnızca Node kurulu olan bir dizüstü bilgisayar saniyeler içinde bir WordPress başlatır. 5.2 ile 8.5 arasındaki herhangi bir PHP sürümü kullanılabilir. Çoğu eklenti ve tema çalışması için yeterli olan küçük bir PHP uzantı kümesi içerir (mevcut derlemede ölçüldüğü üzere intl, redis, memcached).
Docker, yerel php-fpm ve MariaDB konteynerlerini çalıştırır. Daha yavaştır, bir Docker arka plan programına ve yaklaşık 1,2 GB boyutunda imajlara ihtiyaç duyar ve PHP 7.4 ile 8.5 arasını destekler — ancak imagick ve gd dahil olmak üzere tam uzantı kümesine sahip yerel bir PHP çalıştırır. Test etmeniz gereken şey WebAssembly derlemesinin içermediği bir uzantı olduğunda doğru çözüm budur.
zinnector dev # playground
zinnector dev --runtime docker # yerel PHP + MariaDB
Docker'a hiçbir zaman sessizce geri dönüş yapılmaz. WebAssembly üzerinde olduğunu düşünürken aslında Docker üzerinde olan bir geliştiriciye, yardım etmeye çalışan bir araç tarafından yanlış yanıt verilmiş olur; bu nedenle açıkça adıyla istenmesi gerekir.
PHP ve WordPress sürümlerini seçme
zinnector dev --php 8.1 --wp 6.7 # belirli bir ikiliye karşı geliştirme yapın
zinnector dev --port 9401 # 9400 kullanımda olduğunda
zinnector dev --no-login # wp-admin'e otomatik olarak giriş yapmayın
zinnector dev --verbose # çalışma zamanının kendi çıktısını gösterin
Varsayılan değerler projedeki zinnector.json dosyasından gelir — php, wordpress, runtime ve port — bu değerleri zinnector new yazar ve projedeki herkesin aynı sürümleri çalıştırması için commit etmelisiniz. Komut satırındaki bir bayrak, o çalıştırma için dosyadaki değerin yerine geçer.
Beyan ettiğiniz sürüm ile çalışan sürüm farklı olgulardır. zinnector dev --once çalışma zamanını başlatır, gerçekte bildirdiği değerleri (PHP sürümü, WordPress sürümü, yüklenen uzantılar) yazdırır ve durur. zinnector check --probe, projenizi bir barındırma yuvasıyla karşılaştırırken aynı ölçümü kullanır.
Projenizden sunulanlar
Çalışma zamanı, projenizin wp-content/plugins, wp-content/themes ve wp-content/mu-plugins dizinlerini doğrudan bağlar; böylece kaydettiğiniz bir dosya bir sonraki yenilemede yayında olur. Mevcut olan ancak gerçek içerik barındırmayan dizinler kasıtlı olarak bağlanmaz: çalışma zamanının kendi temaları üzerine bağlanan boş bir themes/, WordPress'i hiç teması olmadan bırakır; bu da siteniz yerine boş bir 500 hatası anlamına gelir. Taslak yapının boş dizinleri bir .gitkeep ile tutmasının ve içlerine bir tema koyana kadar hiçbir şeyi gölgelememelerinin nedeni budur.
Çalışma zamanının bulunduğu yer
WordPress çalışma zamanı, CLI ile birlikte gönderilmek yerine ilk kullanımda indirilir — her PHP derlemesini taşıyan paket yaklaşık 570 MB'dir ve yalnızca siteleri listeleyen bir geliştiricinin bunun bedelini ödememesi gerekir. Zinnector®'ın kendi önbelleğinde, ~/.cache/zinnector/runtimes/playground/<version> yolunda (veya ZINNECTOR_CACHE_DIR değişkeninin işaret ettiği yerde) tutulur, asla projenizde yer almaz; bu nedenle deponuzda veya zinnector push komutunun ölçtüğü ağaçta bulunamaz. İndirme işlemi, bir kabuk üzerinden değil, node npm-cli.js olarak çalıştırılan kendi npm aracınız tarafından gerçekleştirilir.
Çalışma zamanı sürümü CLI sürümüne sabitlenmiştir, bu sayede tek bir projedeki iki geliştirici aynı PHP derlemelerini çalıştırır. zinnector dev --reset-runtime, kurulu çalışma zamanını çöpe atıp yeniden kurar; bu da kurulmuş ancak başlatılamayan bir çalışma zamanı için çözümdür.
Node 26 veya daha yeni sürümlerde
CLI'nin kendisi 24 ve üzeri herhangi bir Node sürümünde çalışır. Bununla birlikte, çalışma zamanının yerel modülü (Eylül 2026 itibarıyla) yalnızca Node 24 ve 25 için önceden derlenmiş ikili dosyalar sunar. Herhangi bir şeyi derlemek yerine — ki bu Windows'ta Visual Studio kurmak anlamına gelir — Zinnector®, yalnızca çalışma zamanı için yaklaşık 30 MB boyutunda ve nodejs.org'un yayımladığı sağlama toplamlarına göre doğrulanmış bir Node 24'ü aynı önbelleğe indirir. Yükleme istemi geçerli olduğunda bunu belirtir. Kendi Node sürümünüzde hiçbir şey değişmez.
İlgili