ServBay'de Yii 2 Projesi Oluşturma ve Çalıştırma
Genel Bakış: Yii 2 Nedir?
Yii 2, modern web uygulamalarının hızlı geliştirilmesi için tasarlanmış, yüksek performanslı bileşen tabanlı bir PHP framework'üdür. MVC (Model-View-Controller) mimarisini takip eder ve geliştiricilerin ölçeklenebilir, kaliteli web uygulamaları inşa etmesine yardımcı olacak kapsamlı özellik ve araç setleri sunar. Yii 2; üstün performansı, esnek mimarisi ve yerleşik önbellekleme, güvenlik, RESTful API geliştirme desteği gibi güçlü özellikleri sayesinde yaygın olarak tercih edilmektedir.
Yii 2'nin Temel Özellikleri ve Avantajları
- Yüksek Performans: Yii 2, yüksek eşzamanlılık ve hızlı yanıt için optimize edilmiştir; performans gerektiren projeler için idealdir.
- Modülerlik: Framework, modüler bir yapıya sahiptir ve kodun düzenlenmesi ile bileşenlerin yeniden kullanımı kolaydır.
- Güvenlik: Giriş doğrulama, çıktı filtreleme, CSRF/XSS koruması ve kimlik doğrulama gibi birçok güvenlik özelliği içerir.
- Kullanım Kolaylığı: Anlaşılır API'ler ve detaylı dokümantasyon sayesinde öğrenme eğrisi kısadır, hızlıca projeye başlanabilir.
- Güçlü Topluluk Desteği: Aktif geliştirici topluluğu ve zengin üçüncü parti eklenti ekosistemi ile hızlıca destek alınabilir.
- Entegre Araçlar: Komut satırı araçları ile veritabanı göçleri, kod üretimi gibi işlevler verimli şekilde yönetilebilir.
Yii 2, kurumsal uygulamalardan RESTful API'lara ve portal sitelere kadar çok çeşitli web projeleri için ideal bir tercihtir.
ServBay ile Yii 2 Projesi Çalıştırmak
ServBay, macOS ve Windows için özel olarak geliştirilmiş bir yerel web geliştirme ortamıdır. PHP, çeşitli veritabanları (MySQL, PostgreSQL, MongoDB, Redis), web sunucuları (Caddy, Nginx) ve Composer, Node.js, Python, Go, Java gibi pek çok ek geliştirici aracını “kutudan çıkar çıkmaz” hazır olarak sunar.
Bu dokümanda, ServBay'in sunduğu PHP ortamı, Composer aracı ve veritabanı servisleri kullanılarak temel bir Yii 2 uygulama projesinin nasıl oluşturulup çalıştırılacağı adım adım anlatılmaktadır. ServBay’in “Site” özelliği ile yerel web sunucusu kolayca yapılandırılır ve projenize erişip ana işlevleri test edebilirsiniz.
Ön Koşullar
Başlamadan önce aşağıdaki adımların gerçekleştirildiğinden emin olun:
- ServBay’in macOS veya Windows sürümünü yükleyip çalıştırdınız.
- ServBay’de ihtiyaç duyulan PHP sürümünü (örn. PHP 8.3 ve üzeri) kurdunuz ve aktif hale getirdiniz.
- ServBay’de kullanmak istediğiniz veritabanı servislerini (örn. MySQL veya PostgreSQL) ve önbellek servislerini (Memcached ve Redis) yüklediniz ve aktif ettiniz.
Kurulu yazılımlarınızı ve çalışma durumlarını ServBay’in ana arayüzünden görebilir ve yönetebilirsiniz.
Yii 2 Projesi Oluşturmak
TIP
ServBay, dosya ve proje yapısının düzenli kalması ve site yönetiminin daha kolay olması için proje dosyalarınızı aşağıdaki dizinlerde saklamanızı önerir:
- macOS:
/Applications/ServBay/www
- Windows:
C:\ServBay\www
Composer: ServBay, yerleşik Composer aracıyla gelir; ayrı bir kurulum gerekmez. Terminal üzerinden doğrudan
composer
komutunu kullanabilirsiniz.Proje Dizinini Oluşturmak: Terminali açın, ServBay’in varsayılan web root dizinine gidin ve yeni proje klasörünü oluşturun.
macOS:
bashcd /Applications/ServBay/www mkdir servbay-yii2-app cd servbay-yii2-app
1
2
3Windows:
cmdcd C:\ServBay\www mkdir servbay-yii2-app cd servbay-yii2-app
1
2
3Composer ile Yii 2 Projesi Oluşturmak:
servbay-yii2-app
dizinindeyken aşağıdaki komut ile yeni bir Yii 2 temel uygulama projesi oluşturun:bashcomposer create-project --prefer-dist yiisoft/yii2-app-basic .
1Bu komut, temel Yii 2 uygulama şablonunu ve tüm bağımlılıkları mevcut dizine (
.
) indirir ve kurar. İndirme ve kurulumun tamamlanmasını bekleyin.Proje Dizinine Giriş: Terminalde, sonraki adımlar için proje ana dizininde olduğunuzdan emin olun.
macOS:
bashcd /Applications/ServBay/www/servbay-yii2-app
1Windows:
cmdcd C:\ServBay\www\servbay-yii2-app
1
Başlangıç Yapılandırmaları
Yii 2 projeniz oluşturulduktan sonra özellikle veritabanı bağlantıları ve bileşen ayarları için bazı temel konfigürasyonlar gerekmektedir.
Veritabanı Bağlantısı Ayarı: Proje kök dizinindeki
config/db.php
dosyasını düzenleyin. ServBay'de aktif kullandığınız veritabanı (MySQL veya PostgreSQL), kullanıcı adı (root
) ve şifre (password
, eğer değiştirmediyseniz) bilgilerini girin.Öncelikle ServBay’de yeni bir veritabanı oluşturmanız gerekir; örnek olarak adı
servbay_yii2_app
olabilir. Bu işlemi ServBay’in yerleşik Adminer aracıyla veya Sequel Ace, TablePlus gibi başka bir veritabanı aracıyla yapabilirsiniz. Adminer’e ServBay uygulamasının veritabanı bölümünden erişebilirsiniz.MySQL için:
php<?php return [ 'class' => 'yii\db\Connection', 'dsn' => 'mysql:host=127.0.0.1;dbname=servbay_yii2_app', // dbname oluşturduğunuz veritabanı adı olmalı 'username' => 'root', // Veritabanı kullanıcı adınız 'password' => 'password', // Veritabanı şifreniz 'charset' => 'utf8mb4', // Geniş karakter desteği için utf8mb4 önerilir ];
1
2
3
4
5
6
7
8
9PostgreSQL için:
php<?php return [ 'class' => 'yii\db\Connection', 'dsn' => 'pgsql:host=127.0.0.1;port=5432;dbname=servbay_yii2_app', // dbname veritabanı adı, port genelde 5432 'username' => 'root', // Veritabanı kullanıcı adınız 'password' => 'password', // Veritabanı şifreniz 'charset' => 'utf8', 'schemaMap' => [ 'pgsql' => [ 'class' => 'yii\pgsql\Schema', 'defaultSchema' => 'public', // PostgreSQL için varsayılan şema ], ], ];
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15Kendi yapınıza uygun olarak
config/db.php
dosyasını düzenleyin.Önbellek ve Redis Bileşen Ayarları: Proje kök dizinindeki
config/web.php
dosyasındacomponents
bölümünü güncelleyerek Memcached ve Redis bileşenlerini yapılandırın. ServBay varsayılan olarak Memcached için11211
, Redis için6379
portunu kullanır.php<?php // ... diğer ayarlar 'components' => [ // ... mevcut bileşen ayarları (ör. request, cache, user, errorHandler, log, urlManager) 'cache' => [ 'class' => 'yii\caching\MemCache', 'servers' => [ [ 'host' => '127.0.0.1', 'port' => 11211, // Memcached varsayılan portu 'weight' => 100, ], ], ], 'redis' => [ 'class' => 'yii\redis\Connection', 'hostname' => '127.0.0.1', 'port' => 6379, // Redis varsayılan portu 'database' => 0, // Redis veritabanı indexi ], // ... diğer bileşenler ], // ... diğer ayarlar
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28Memcached ve Redis servislerini ServBay üzerinden başlatmayı unutmayın. Redis’i önbellek olarak kullanmak için
yiisoft/yii2-redis
paketinin (temel şablon kurulumunda genellikle gelir, ancak gerekirsecomposer require yiisoft/yii2-redis
ile eklenebilir) kurulu olması gerekir. Memcached için genellikleyiisoft/yii2-memcached
kullanılır.
Web Sunucusu Yapılandırması (ServBay Site)
ServBay’in “Site” özelliği ile web sunucunuzu (Caddy veya Nginx) Yii 2 projesine yönlendirmek için aşağıdaki adımları izleyin.
- ServBay Uygulamasını Açın: ServBay’i başlatın.
- Site Ayarlarına Girin: Arayüzde “Site” veya benzer menüye tıklayın.
- Yeni Site Ekleyin: ‘+’ veya "Ekle" butonuna tıklayarak yeni bir site oluşturun.
- Site Bilgilerini Girin:
- İsim: Örneğin
İlk Yii 2 Geliştirme Sitem
gibi kolayca tanınacak bir ad girin. - Alan Adı: Örneğin
servbay-yii2-test.local
gibi, tarayıcıda erişmek istediğiniz yerel geliştirme alan adını girin. ServBay yerel DNS'i otomatik olarak yapılandırır. - Site Tipi:
PHP
seçin. - PHP Sürümü: Kullanmak istediğiniz PHP sürümünü seçin (örn.
8.3
). Ayrıca bu sürümün aktif ve kurulu olduğundan emin olun. - Site Kök Dizin: Çok önemli bir adım: Yii 2 temel uygulama şablonu için sitenin giriş noktası proje ana dizinindeki
web
klasörüdür. Yani:- macOS:
/Applications/ServBay/www/servbay-yii2-app/web
- Windows:
C:\ServBay\www\servbay-yii2-app\web
- macOS:
- İsim: Örneğin
- Kaydedin ve Uygulayın: Ayarlardan sonra değişiklikleri kaydedin. ServBay web sunucu ayarlarını otomatik olarak yeniler.
Web sitesi yapılandırmasıyla ilgili detaylar için ServBay’in resmi dokümantasyonuna bakabilirsiniz: İlk site ekleme.
ServBay, yerel geliştirme alan adınız için SSL sertifikasını otomatik olarak üretir ve güvenilir hale getirir (ServBay User CA veya ServBay Public CA aracılığıyla), böylece sitenize HTTPS ile güvenli erişim sağlayabilirsiniz.
Fonksiyonu Göstermek için Örnek Kod Ekleme
Veritabanı ve önbellek kullanımı için, varsayılan Yii 2 denetleyicisine örnek eylemler ekleyebilirsiniz.
Proje ana dizininde controllers/SiteController.php
dosyasını açıp aşağıdaki yöntemleri SiteController
sınıfına ekleyin:
php
<?php
namespace app\controllers;
use Yii;
use yii\web\Controller;
use yii\web\Response;
use yii\db\Exception as DbException; // Veritabanı hata sınıfını ekle
class SiteController extends Controller
{
/**
* Ana sayfayı görüntüler.
*
* @return string
*/
public function actionIndex()
{
return $this->render('index');
}
/**
* Memcached kullanımını gösterir.
*
* @return Response
*/
public function actionMemcached()
{
$cache = Yii::$app->cache;
$key = 'my_memcached_test_key';
$data = 'Hello Memcached from ServBay!';
$duration = 60; // 60 saniye önbellekleyin
if ($cache->set($key, $data, $duration)) {
$value = $cache->get($key);
return $this->asText("Memcached başarıyla ayarlandı. Alınan değer: " . $value);
} else {
return $this->asText("Memcached'e veri kaydedilemedi. Lütfen Memcached servis ve ayarlarını kontrol edin.");
}
}
/**
* Redis kullanımını gösterir.
*
* @return Response
*/
public function actionRedis()
{
$redis = Yii::$app->redis;
$key = 'my_redis_test_key';
$data = 'Hello Redis from ServBay!';
try {
if ($redis->set($key, $data)) {
$value = $redis->get($key);
return $this->asText("Redis başarıyla ayarlandı. Alınan değer: " . $value);
} else {
return $this->asText("Redis'e veri kaydedilemedi. Lütfen Redis servis ve ayarlarını kontrol edin.");
}
} catch (\yii\base\Exception $e) {
return $this->asText("Redis hatası: " . $e->getMessage() . ". Lütfen Redis servis ve ayarlarını kontrol edin.");
}
}
/**
* Veritabanına kullanıcı eklemeyi gösterir.
* 'users' tablosunun var olduğu varsayılır.
*
* @return Response
*/
public function actionMysqlAdd() // Doğru yapılandırmayla PostgreSQL için de kullanılabilir
{
try {
$count = Yii::$app->db->createCommand()->insert('users', [
'name' => 'ServBay Demo User', // Marka ile ilgili demo isim
'email' => 'demo-user@servbay.test', // Marka ile ilgili demo eposta
])->execute();
return $this->asText("Kullanıcı başarıyla eklendi. Etkilenen satır sayısı: " . $count);
} catch (DbException $e) {
return $this->asText("Kullanıcı eklenemedi. Hata: " . $e->getMessage() . ". Veritabanı servisini, ayarları ve 'users' tablosunun varlığını kontrol edin.");
}
}
/**
* Veritabanından kullanıcıları çekmeyi gösterir.
* 'users' tablosunun var olduğu varsayılır.
*
* @return Response
*/
public function actionMysql() // Doğru yapılandırmayla PostgreSQL için de kullanılabilir
{
try {
$users = Yii::$app->db->createCommand('SELECT id, name, email FROM users')->queryAll();
// Çıkışı biçimlendir, hassas veri veya dağınık format olmasın
$output = "Kullanıcılar:\n";
foreach ($users as $user) {
$output .= "- ID: {$user['id']}, İsim: {$user['name']}, E-posta: {$user['email']}\n";
}
return $this->asText($output);
} catch (DbException $e) {
return $this->asText("Kullanıcılar çekilemedi. Hata: " . $e->getMessage() . ". Veritabanı servisini, ayarları ve 'users' tablosunun varlığını kontrol edin.");
}
}
// PostgreSQL kullanıyorsanız ayrı action metodu ekleyebilirsiniz; genelde db bileşeni ortak kullanılır
// public function actionPgsqlAdd() { ... }
// public function actionPgsql() { ... }
/**
* Sonucu düz metin olarak döndürür.
* @param string $text
* @return Response
*/
protected function asText($text)
{
Yii::$app->response->format = Response::FORMAT_RAW;
Yii::$app->response->getHeaders()->add('Content-Type', 'text/plain');
return $text;
}
/**
* Sonucu JSON olarak döndürür.
* @param mixed $data
* @return Response
*/
protected function asJson($data)
{
Yii::$app->response->format = Response::FORMAT_JSON;
return $data;
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
actionMysqlAdd
ve actionMysql
metotlarında hata yönetimi ve net çıktı biçimlendirmeleri eklendi. Demo kullanıcı adı ve epostası ServBay marka özelliğine uygun olarak güncellendi.
Projede ana sayfa olarak views/site/index.php
dosyasını açıp aşağıdaki şekilde içeriği güncelleyebilirsiniz. Varsayılan içerik korunabilir veya aşağıdaki gibi test bağlantıları eklenebilir:
php
<?php
/* @var $this yii\web\View */
/* @var $name string */
/* @var $message string */
/* @var $exception Exception */
use yii\helpers\Html;
$this->title = 'ServBay ile My Yii2 Uygulamanız'; // Başlık güncellendi
?>
<div class="site-index">
<div class="jumbotron">
<h1>Tebrikler!</h1>
<p class="lead">Yii2 uygulamanızı başarıyla oluşturdunuz ve ServBay ile yapılandırdınız!</p>
<p><a class="btn btn-lg btn-success" href="https://www.yiiframework.com">Yii ile çalışmaya başla</a></p>
</div>
<div class="body-content">
<h2>Demolar</h2>
<ul>
<li><a href="<?= Html::toRoute('site/memcached') ?>">Memcached’i Test Et</a></li>
<li><a href="<?= Html::toRoute('site/redis') ?>">Redis’i Test Et</a></li>
<li><a href="<?= Html::toRoute('site/mysql-add') ?>">Veritabanına kullanıcı ekle</a> ('users' tablosu gereklidir)</li>
<li><a href="<?= Html::toRoute('site/mysql') ?>">Veritabanından kullanıcıları çek</a> ('users' tablosu gereklidir)</li>
</ul>
<p>Lütfen Memcached, Redis ve kullanacağınız veritabanı servislerinin (MySQL/PostgreSQL) ServBay’de etkin olduğunu ve `config/web.php` ile `config/db.php` dosyalarında doğru ayarlandığını doğrulayın.</p>
<p>Veritabanı örnekleri için 'users' tablosunu aşağıdaki şekilde migration ile oluşturmanız gerekmektedir.</p>
</div>
</div>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Görünüm dosyasına ilgili kontrolcü eylemlerini test edebilmeniz için bağlantılar eklenmiştir.
İlişkisel Veritabanı: Tablo Yapısının Oluşturulması (Migration)
Veritabanı ile ilgili örnekleri (actionMysqlAdd
, actionMysql
) çalıştırmak için öncelikle users
tablosunun oluşturulması gerekir. Yii, veritabanı şema yönetimi için migration (göç) mekanizmasını önerir.
Migration Dosyası Oluşturmak için Gii Aracı: Terminali açın ve proje ana dizinindeyken aşağıdaki komutu çalıştırarak migration dosyası oluşturun.
Proje Ana Dizinleri:
- macOS:
/Applications/ServBay/www/servbay-yii2-app
- Windows:
C:\ServBay\www\servbay-yii2-app
bashphp yii migrate/create create_users_table
1Sistemin size sorduğu soruya
yes
yazıp Enter’a basın.migrations
dizininde ismimYYYYMMDD_HHMMSS_create_users_table.php
şeklinde bir dosya oluşacaktır.- macOS:
Migration Dosyasını Düzenlemek: Oluşan migration dosyasında
up()
metodunu aşağıdaki gibi güncelleyin:php<?php use yii\db\Migration; /** * `{{%users}}` tablosunun oluşturulması işlemlerini yönetir. */ class mXXXXXXXXXXXXXX_create_users_table extends Migration // XXXXXXXXXXXXXX zaman damgası { /** * {@inheritdoc} */ public function up() { $this->createTable('{{%users}}', [ // Tablo ön ek desteği için {{%users}} 'id' => $this->primaryKey(), 'name' => $this->string()->notNull(), 'email' => $this->string()->notNull()->unique(), 'created_at' => $this->timestamp()->defaultExpression('CURRENT_TIMESTAMP'), 'updated_at' => $this->timestamp()->defaultExpression('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'), ]); // Opsiyonel: Sorgu performansını artırmak için indeks oluşturma $this->createIndex( 'idx-users-email', '{{%users}}', 'email', true // true => benzersiz indeks ); } /** * {@inheritdoc} */ public function down() { // İndeks silinir $this->dropIndex( 'idx-users-email', '{{%users}}' ); // Tablo silinir $this->dropTable('{{%users}}'); } }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46mXXXXXXXXXXXXXX_create_users_table
ismini oluşturulan dosya ile değiştirin.Migration Çalıştırmak: Terminalde yine proje ana klasöründe iken migration’ı yürütün:
bashphp yii migrate
1Sistemin sorduğu soruya
yes
yazıp Enter’a basın. Sorunsuz tamamlanırsa tablo oluşturulmuş olur.
Siteye Erişim ve Testler
Artık tarayıcıdan ServBay’de yapılandırdığınız alan adı https://servbay-yii2-test.local
ile projenizi görebilirsiniz.
https://servbay-yii2-test.local
adresini ziyaret edin: Yii 2 temel uygulama şablonu ana sayfası ile güncellediğimiz demo bağlantıları görünecektir.- "Memcached’i Test Et" bağlantısına tıklayın veya
https://servbay-yii2-test.local/index.php?r=site/memcached
adresine gidin: Memcached servis çalışıyorsa "Memcached başarıyla ayarlandı..." metni görünecektir. - "Redis’i Test Et" bağlantısına tıklayın veya
https://servbay-yii2-test.local/index.php?r=site/redis
adresine gidin: Redis servis çalışıyorsa "Redis başarıyla ayarlandı..." metni görünecektir. - "Veritabanına kullanıcı ekle" bağlantısına tıklayın veya
https://servbay-yii2-test.local/index.php?r=site/mysql-add
adresine gidin: Veritabanı servisi ve yapılandırması doğru veusers
tablosu migration ile oluşturulduysa "Kullanıcı başarıyla eklendi..." metni görünecektir. Her giriş yeni bir kullanıcı ekler (email alanı benzersizse tekrar eklemez). - "Veritabanından kullanıcıları çek" bağlantısına tıklayın veya
https://servbay-yii2-test.local/index.php?r=site/mysql
adresine gidin: Veritabanı servisiniz veusers
tablosu hazırsa, liste görünür.
Sorun yaşarsanız ServBay’daki ilgili servislerin (PHP, web sunucusu, veritabanı, Memcached, Redis) çalıştığından; Yii 2 proje yapılandırmalarının (config/db.php
, config/web.php
) doğru olduğundan ve veritabanı tablolarının oluşturulduğundan emin olun.
Sıkça Sorulan Sorular (SSS)
- Siteye giremiyor veya sertifika hatası alıyorum, neden? ServBay’de site ayarlarında alan adını doğru girip uygulamanın çalıştığından emin olun. ServBay, yerel DNS ve SSL sertifikasını otomatik yönetir. Sertifika hatası için ServBay User CA veya ServBay Public CA’yı sisteminizde güvenceye alın. Detaylar için ServBay dökümanına bakınız.
- Composer komutu çalışmıyor mu? ServBay arayüzünden Composer paketinin etkin olduğuna ve komutları macOS terminalinden çalıştırdığınıza emin olun. ServBay, Composer’ı otomatik olarak PATH'inize ekler.
- Veritabanı bağlantı hatası mı alıyorum? ServBay’de ilgili veritabanı servisinin çalıştığını,
config/db.php
dosyasındakidsn
,username
,password
ayarlarının servisle uyumlu olduğunu ve gerekli veritabanının oluşturulduğunu kontrol edin. ServBay Adminer ile bağlantıyı doğrulayabilirsiniz. - Memcached/Redis bağlantı hatası mı? İlgili Memcached/Redis servisinin ServBay’de aktif olduğunu ve
config/web.php
bileşen ayarlarındahost
veport
bilgisi doğru (127.0.0.1
ve varsayılan portlar) olduğundan emin olun. - Veritabanı migration (
php yii migrate
) başarısız mı?config/db.php
dosyasının doğru yapılandırıldığını, veritabanı servisinin aktif olduğunu ve veritabanının mevcut olduğunu kontrol edip migration komutunu tekrar çalıştırın. actionMysqlAdd
/actionMysql
metodları tablo yok hatası mı veriyor? Önce migration komutunu (php yii migrate
) çalıştırarakusers
tablosunu oluşturmalısınız.- PHP hata loglarını nereden görebilirim? ServBay, PHP hata ve web sunucu log’larını merkezi olarak yönetir. ServBay arayüzünde "Loglar" bölümünden ayrıntılı hata raporlarını inceleyebilirsiniz.
Sonuç
ServBay sayesinde macOS ve Windows’ta fonksiyonel, eksiksiz bir yerel geliştirme ortamı ile Yii 2 projenizi hızlıca hayata geçirebilirsiniz. ServBay’in hazır Composer’ı, PHP sürüm yöneticisi, dahili veritabanı ve önbellek servisleri ile kolay site yapılandırma özellikleri; Yii 2 projesinin kurulumu ve geliştirilmesini büyük ölçüde kolaylaştırır. Bu rehberin adımlarını izleyerek geliştirme yolculuğunuza hızlıca başlayabilir ve ServBay’in sunduğu tüm araçlardan maksimum verim alabilirsiniz.
Başarılı geliştirmeler dileriz!