WP-CLI Server (wp server) İşlemleri

WP-Cli ile ilgili yazılara sunucu işlemleriyle devam edelim. Daha öncesinde özellikle grav ve diğer flat-file uygulamaların test edilmesi amacıyla PHP kodlarımızın macOS ortamında herhangi bir ekstra kullanım gerektirmeksizin nasıl çalıştırılabileceğinden bahsetmiştim.

AA

İlgili php kodlarımızı çalıştırmak için öncelikle sunucuyu aktifleştirmemiz gerekmekteydi ve bu aktifleştirme işlemini de php -S <addr>:<port> koduyla (bkz. Built-in web server1) sağlamaktaydık. En temelde wp server <addr>:<port> komutu da aynı işlemi gerçekleştiriyor. Elbette bazı ufak farklılıklarla. O halde, bu yazıda ilk olarak wp server farklılıklarına bakalım.

WP Server

wp server komutu belirli bir WordPress kurulumu için yerleşik web sunucusunu başlatır ve bu sayede PHP kodlarının çalışmasını sağlar. Özellikle local’de kurulu (local ya da remote veritabanı bağlantısı olabilir) WordPress işlemlerinin pratik bir şekilde çalıştırılabilmesi amacıyla kullanılır. En temel kullanımı şu şekildedir:

wp server [--host=<host>]

--host özelliği ile adres (addr) ve port tanımlamasını gerçekleştiririz. Örneğin, 0.0.0.0 üzerinden sunucuyu wp server komutunu kullanarak aktifleştirelim.

wp server --host=0.0.0.0

Bu komutu uyguladığınız anda ilgili yolun erişilebilir olduğu bilgisi dönecektir. Aşağı yukarı dönecek olan mesaj şu şekildedir:

PHP 7.1.19 Development Server started at Thu Jan  3 21:17:27 2019
Listening on http://0.0.0.0:8080
Document root is /
Press Ctrl-C to quit.

Evet, Ctrl-C tuşlarına basarak ilgili erişimi sonlandırabiliriz. İlgili adresi internet tarayıcımızla görüntülediğimizde bizi phpinfo() içeriği karşılayacaktır. Burada yer alan bilgilerden $_SERVER\[‘DOCUMENT_ROOT’\] (DocumentRoot) bize yayına açılan dosya yolunu verir. Örneğin, bu değer / ise ilgili yol doğrudan kullanıcı dizininizdir. Bu bilgiler php -S komutundan farklı olabilir. Her iki komut da ayrıca yönetilebilirler ve her iki alan için de ayrıca WordPress kurulumları yapılabilir. Şimdide wp server için kullanılabilir olan opsiyonlara bir bakalım.

[–host=]

Yukarıdaki örnekte de kısaca görüldüğü üzere wp server aktifleştirme işlemi sonrasında erişeceğimiz adresi tanımlamamızı sağlar. Ön tanımlı olarak localhost değerini alır. localhost’un yanı sıra IP ve localdomain (localhost.localdomain) değeri alabilir.

wp server --host=localhost.localdomain

[–port=]

Sunucu aktifleştirildikten sonra dinleyeceği port bilgisini iletmemizi sağlar. Ön tanımlı olarak 8080 dinlenir.

wp server --host=0.0.0.0 --port=30

Yukarıdaki komut satırı sonrasında http://0.0.0.0:30/ üzerinden yine phpinfo() içeriğine ulaşabiliriz.

[–docroot=]

wp server giriş açıklamasında da belirtmiştim. wp server ile server aktifleştirildiğinde ön tanımlı olarak global parametre yani / kök dizin olarak kullanılır (Document root is /). İşte, bu gibi durumlarda --docroot ile pratik bir şekilde $_SERVER[‘DOCUMENT_ROOT’] (DocumentRoot) değerini düzenleyebiliriz.

wp server --host=0.0.0.0 --port=30 --docroot=/Users/kullanici-adi/Desktop/wp

Yukarıdaki komutu uyguladığımızda bilgisayarımızın masaüstünde bulunan wp klasörü DocumentRootolarak alınır ve bu klasör içerisinde yer alan PHP dosyalarım çalıştırılabilir.

[–config=]

Spesifik olarak tanımlanmış sunucu yapılandırma dosyalarını (.ini) kullanabilmemizi etmemizi sağlar.

wp server --config=project.ini

Yukarıdaki satırı uyguladığımızda project.ini dosyamız ilgili sunucu erişimi için tanımlanmış konfigürasyonların erişileceği dosya haline gelecektir.

Özetle wp server Kullanımı

wp server komutunun pratik bir şekilde PHP kodlarınızı hızlı bir şekilde çalıştırmaktan local olarak kurulu bir WordPress test ortamı yürütmeye farklı amaçlar için oldukça pratik bir komut olduğunu söyleyebilirim. Özellikle remote bir veritabanı kullanıyorsanız bilgisayarınıza harici olarak hiçbir kurulum yapmadan WordPress işlemleri gerçekleştirebilirsiniz.

Unutmadan, macOS PHP yerleşik (built-in) web sunucusu .htaccess dosyasını desteklememekte. Dolayısıyla işlemleri bu sınırlandırma çerçevesinde değerlendirmekte fayda var. Konuyla ilgili daha detaylı bilgi edinmek ve farklı örnekler görmek isterseniz WP-CLI Commands > wp server sayfasını2 ziyaret edebilirsiniz.