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
mysqldumpveyamariadb-dumpgerektirir. - MySQL/MariaDB geri yüklemeleri
mysqlveyamariadbgerektirir. - 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