Doğal (Native) Yerel Geliştirme

Bu doküman, yerel olarak kurulmuş PHP, Composer, Nginx, MySQL veya MariaDB ve Redis kullanılarak WebBlocks CMS için desteklenen yerel geliştirme yolunu açıklar. Konteyner tabanlı yerel araçlar artık proje iş akışının parçası değildir.

Yerel URL

Tarayıcı iş akışları için güvenilir HTTPS ve .test alan adlarını kullanın.

  • CMS URL'si: https://webblocks-cms.test
  • Yönetim paneli: https://webblocks-cms.test/webadmin
  • Yükleyici: https://webblocks-cms.test/install

php artisan serve hızlı CLI veya rota kontrolleri için hâlâ kullanışlıdır; ancak normal tarayıcı hedefi yukarıdaki güvenilir Nginx/PHP-FPM kurulumu olmalıdır.

Hazırlık Kontrolü

Çalıştırın:

composer native:doctor

Doctor komutu, hizmet kurmadan veya yerel dosyaları değiştirmeden yerel çalışma zamanı hazırlığını kontrol eder.

Faydalı manuel kontroller:

php -v
composer --version
nginx -t
mysql --version
redis-cli ping

Apple Silicon Homebrew kurulumlarında hizmet dosyaları ve loglar genellikle /opt/homebrew altındadır. Intel Homebrew kurulumlarında genellikle /usr/local altındadır.

Sıfırdan Kurulum

composer install
cp .env.example .env
php artisan key:generate
php artisan migrate
php artisan db:seed
php artisan storage:link

Kurulum henüz tamamlanmadığında tarayıcı sihirbazı için https://webblocks-cms.test/install adresini açın.

Ortam

Tipik doğal yerel değerler:

APP_ENV=local
APP_URL=https://webblocks-cms.test
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=webblocks_cms
DB_USERNAME=webblocks_cms
DB_PASSWORD=
CACHE_STORE=database
SESSION_DRIVER=database
QUEUE_CONNECTION=sync
CMS_BACKUP_EXECUTION=auto

CMS kurulumu için ayrı bir yerel veritabanı ve kullanıcı kullanın. Makinenizde zaten kullanımda olan bir MySQL/MariaDB örneği varsa, ayrı bir port ve eşleşen .env değerleri kullanın.

Yedeklemeler ve Geri Yüklemeler

Yedekleme ve geri yükleme komutları doğal modda yerel veritabanı CLI'larını kullanır:

  • MySQL/MariaDB yedeklemeleri mysqldump veya mariadb-dump gerektirir.
  • MySQL/MariaDB geri yüklemeleri mysql veya mariadb gerektirir.
  • SQLite yedekleme ve geri yüklemeleri PHP/PDO yollarını kullanır.

CMS_BACKUP_EXECUTION=auto ve CMS_BACKUP_EXECUTION=direct değerlerinin her ikisi de MySQL/MariaDB için doğrudan yerel CLI çalıştırmasına çözümlenir. Proje, yedekleme veya geri yükleme için bir konteyner komutu gerektirmez.

Smoke Kontrolü

Hizmet yeniden başlatmalarından, geri yüklemelerden veya ortam değişikliklerinden sonra çalıştırın:

composer native:smoke

Odaklı testler için:

php artisan test --filter=PluginCatalogBrowserTest
composer test:release-fast
composer format:changed

Sorun Giderme

Tarayıcı yanlış siteye ulaşıyorsa, Nginx sunucu bloğunun webblocks-cms.test alan adına sahip olduğunu, sertifikanın güvenilir olduğunu ve /etc/hosts dosyasının alan adını 127.0.0.1 adresine yönlendirdiğini doğrulayın.

Veritabanı komutları başarısız olursa, .env içindeki DB_HOST, DB_PORT, DB_DATABASE, DB_USERNAME ve DB_PASSWORD değerlerini doğrulayın, ardından çalıştırın:

php artisan config:clear
php artisan migrate:status

Redis destekli özellikler başarısız olursa, yerel Redis hizmetinin çalıştığını doğrulayın:

redis-cli ping