ServBay में Yii 2 प्रोजेक्ट तैयार करें और चलाएँ
परिचय: Yii 2 क्या है?
Yii 2 एक उच्च-प्रदर्शन वाला, कंपोनेंट-आधारित PHP फ्रेमवर्क है जिसका उपयोग आधुनिक वेब एप्लिकेशन के त्वरित विकास के लिए किया जाता है। यह MVC (Model-View-Controller) डिजाइन पैटर्न का पालन करता है और डेवलपर्स को स्केलेबल, क्वालिटी वेब एप्लिकेशन बनाने में सक्षम करने के लिए समृद्ध फीचर्स एवं टूल्स प्रदान करता है। इसकी तीव्रता, लचीली संरचना और सुरक्षा, कैशिंग, RESTful API डेवलपमेंट जैसे शक्तिशाली इनबिल्ट फीचर्स इसे लोकप्रिय बनाते हैं।
Yii 2 की खासियतें और लाभ
- उच्च प्रदर्शन: Yii 2 को हाई-कॉनकरेंसी अनुरोधों के लिए ऑप्टिमाइज़ किया गया है, जिससे यह प्रदर्शन-संवेदनशील एप्लिकेशन हेतु उपयुक्त है।
- मॉड्यूलर डिज़ाइन: फ्रेमवर्क अत्यंत मॉड्यूलर है, जिससे आपका कोड ऑर्गेनाइज़ करना एवं कंपोनेंट्स का पुनर्चक्रण आसान हो जाता है।
- सुरक्षा: इसमें इनपुट वेलिडेशन, आउटपुट फ़िल्टरिंग, CSRF/XSS सुरक्षा, ऑथेंटीकेशन-ऑथराइज़ेशन फ्रेमवर्क जैसे फीचर्स इनबिल्ट हैं।
- आसान उपयोग: इसका API सरल और प्रैक्टिकल है, तथा दस्तावेजीकरण व्यापक एवं स्पष्ट है — जिससे सीखना और शुरुआत करना आसान है।
- मजबूत कम्युनिटी सपोर्ट: यह फ़्रेमवर्क एक सक्रिय डेवलपर समुदाय और अनेक थर्ड-पार्टी एक्सटेंशन लाइब्रेरीज़ के साथ आता है।
- इंटीग्रेटेड टूल्स: इसमें कमांड-लाइन टूल्स (डाटाबेस माइग्रेशन, कोड जनरेशन आदि) मौजूद हैं, जो डेवलपमेंट स्पीड बढ़ाते हैं।
Yii 2 एंटरप्राइज़-ग्रेड एप्लिकेशन, RESTful API, पोर्टल साइट्स आदि के लिए उपयुक्त विकल्प है।
ServBay में Yii 2 प्रोजेक्ट चलाने के लिए
ServBay macOS और Windows के लिए एक स्थानीय वेब डेवलपमेंट प्लेटफ़ॉर्म है जिसमें PHP और विभिन्न डेटाबेस (MySQL, PostgreSQL, MongoDB, Redis), वेब सर्वर्स (Caddy, Nginx), तथा कई डेवलपर टूल्स (Composer, Node.js, Python, Go, Java आदि) बिल्ट-इन हैं। यह "ऑल-इन-वन" समाधान प्रदान करता है जिससे सेटअप और मैनेजमेंट सरल हो जाता है।
यह गाइड आपको ServBay के PHP वातावरण, Composer टूल और डेटाबेस सेवाओं की मदद से Yii 2 बेसिक एप्लिकेशन तैयार करने और चलाने के चरणों के बारे में बताएगी। हम ServBay की "Website" सुविधा के ज़रिए स्थानीय वेब सर्वर कॉन्फ़िगरेशन और प्रोजेक्ट ऐक्सेस करने की प्रक्रिया भी बताएंगे।
आवश्यकताएँ
शुरू करने से पूर्व, कृपया सुनिश्चित करें:
- आपने अपने macOS या Windows सिस्टम पर ServBay सफलतापूर्वक इंस्टॉल और रन किया है।
- ServBay में आवश्यक PHP संस्करण (जैसे PHP 8.3 या उच्चतर) इंस्टॉल और सक्रिय है।
- आपके उपयोग के लिए आवश्यक डेटाबेस सेवा (जैसे MySQL या PostgreSQL) और कैश सेवा (Memcached एवं Redis) ServBay में उपलब्ध और चालू है।
इन सेवाओं की स्थिति और प्रबंधन ServBay के मुख्य इंटरफ़ेस से किया जा सकता है।
Yii 2 प्रोजेक्ट कैसे बनाएँ
TIP
ServBay आपके प्रोजेक्ट फाइलों को निम्नलिखित डायरेक्ट्री में रखने की सलाह देता है, जिससे संरचना सुव्यवस्थित रहती है और Website फीचर से आसान मैनेजमेंट होता है:
- macOS:
/Applications/ServBay/www
- Windows:
C:\ServBay\www
Composer: ServBay में Composer टूल पहले से इंस्टॉल आता है, आपको अलग से इंस्टॉल करने की जरुरत नहीं है। बस टर्मिनल में
composer
कमांड चलाएँ।प्रोजेक्ट डायरेक्ट्री बनाएँ: टर्मिनल खोलें, ServBay की डिफ़ॉल्ट वेबसाइट रूट डायरेक्ट्री पर जाएँ और नया प्रोजेक्ट फोल्डर बनाएँ।
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 से Yii 2 प्रोजेक्ट बनाएँ:
servbay-yii2-app
फोल्डर में निम्न कमांड चलाएँ:bashcomposer create-project --prefer-dist yiisoft/yii2-app-basic .
1यह कमांड Yii 2 बेसिक ऐप टेम्प्लेट तथा ज़रूरी डिपेंडेंसीज़ आपके फोल्डर में डाउनलोड और इंस्टॉल करेगी। इस प्रक्रिया में कुछ समय लग सकता है।
प्रोजेक्ट डायरेक्ट्री चुनें: आगे के कमांड इसी मुख्य फोल्डर में चलेंगी। अपनी टर्मिनल लोकेशन यहाँ सुनिश्चित करें।
macOS:
bashcd /Applications/ServBay/www/servbay-yii2-app
1Windows:
cmdcd C:\ServBay\www\servbay-yii2-app
1
बेसिक कॉन्फ़िगरेशन
Yii 2 प्रोजेक्ट के बनने के बाद मुख्य रूप से डेटाबेस कनेक्शन एवं कंपोनेंट सेटअप की जरूरत होगी।
डेटाबेस कनेक्शन सेटअप करें: प्रोजेक्ट की रूट डायरेक्ट्री में
config/db.php
फाइल एडिट करें। ServBay में आपके द्वारा चुने गए डेटाबेस (MySQL या PostgreSQL) के लिए यूज़रनेम (आमतौर परroot
) और पासवर्ड (password
या आपके द्वारा सेट किया गया) अनुसार जानकारी भरें।सबसे पहले ServBay के डेटाबेस सेक्शन में एक नया डेटाबेस बनाएँ, जैसे
servbay_yii2_app
। यह Adminer टूल (ServBay में उपलब्ध) या अपनी पसंदीदा डेटाबेस क्लाइंट से किया जा सकता है।MySQL के लिए:
php<?php return [ 'class' => 'yii\db\Connection', 'dsn' => 'mysql:host=127.0.0.1;dbname=servbay_yii2_app', // dbname आपके द्वारा बनाए गए डेटाबेस का नाम हो 'username' => 'root', // डेटाबेस यूजर 'password' => 'password', // डेटाबेस पासवर्ड 'charset' => 'utf8mb4', // यूनिकोड के लिए utf8mb4 का प्रयोग करें ];
1
2
3
4
5
6
7
8
9PostgreSQL के लिए:
php<?php return [ 'class' => 'yii\db\Connection', 'dsn' => 'pgsql:host=127.0.0.1;port=5432;dbname=servbay_yii2_app', 'username' => 'root', 'password' => 'password', 'charset' => 'utf8', 'schemaMap' => [ 'pgsql' => [ 'class' => 'yii\pgsql\Schema', 'defaultSchema' => 'public', ], ], ];
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15अपनी स्थिति के अनुसार
config/db.php
संपादित करें।कैश और Redis कंपोनेंट सेटअप करें: प्रोजेक्ट रूट के
config/web.php
फाइल मेंcomponents
भाग में Memcached एवं Redis की सेटिंग जोड़ें। ServBay में Memcached का पोर्ट11211
, Redis का6379
होता है।php<?php // ... अन्य कॉन्फ़िगरेशन 'components' => [ // ... अन्य कंपोनेंट्स 'cache' => [ 'class' => 'yii\caching\MemCache', 'servers' => [ [ 'host' => '127.0.0.1', 'port' => 11211, 'weight' => 100, ], ], ], 'redis' => [ 'class' => 'yii\redis\Connection', 'hostname' => '127.0.0.1', 'port' => 6379, 'database' => 0, ], // ... अन्य कंपोनेंट्स ], // ... अन्य कॉन्फ़िगरेशन
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सुनिश्चित करें कि ServBay में Memcached एवं Redis सेवाएँ एक्टिव हैं। Redis के लिए
yiisoft/yii2-redis
पैकेज इंस्टॉल होना चाहिए (Composer द्वारा याcomposer require yiisoft/yii2-redis
)। Memcached हेतुyiisoft/yii2-memcached
पैकेज की आवश्यकता हो सकती है।
वेब सर्वर (Website) कॉन्फ़िगरेशन - ServBay
ServBay की Website फीचर से अपने Yii 2 प्रोजेक्ट हेतु लोकल वेब सर्वर (Caddy या Nginx) कॉन्फ़िगर करें।
- ServBay ऐप खोलें: ऐप प्रारंभ करें।
- Website सेटिंग पर जाएँ: इंटरफ़ेस में Website या समान अनुभाग ढूँढें।
- नई Website जोड़ें: Add बटन (
+
याAdd
) क्लिक करें। - Website जानकारी भरें:
- Name: उदाहरण के लिए
My First Yii 2 Dev Site
- Domain: वेब ब्राउज़र में ऐक्सेस हेतु लोकल डोमेन, जैसे
servbay-yii2-test.local
डालें। ServBay अपने आप DNS सेट करेगा। - Website Type:
PHP
चुनें। - PHP Version: अपने द्वारा एक्टिव किए गए वर्शन का चयन करें (जैसे
8.3
)। - Website Root Directory: यह सबसे महत्वपूर्ण है। Yii 2 बेस ऐप के लिए 'web' फोल्डर को root बनाएं:
- macOS:
/Applications/ServBay/www/servbay-yii2-app/web
- Windows:
C:\ServBay\www\servbay-yii2-app\web
- macOS:
- Name: उदाहरण के लिए
- Save और Apply करें: Website सेटिंग सेव करने के बाद ServBay वेब सर्वर कॉन्फ़िग्रेशन स्वतः रीलोड करेगा।
विस्तृत निर्देश ServBay के डाक्यूमेंटेशन पेज पर देखें: पहली वेबसाइट जोड़ें।
ServBay आपके लोकल डोमेन के लिए SSL प्रमाणपत्र खुद जारी व ट्रस्ट करता है, जिससे HTTPS ऐक्सेस आसान है।
डेमो कोड जोड़ें - फीचर टेस्टिंग के लिए
डाटाबेस और कैशिंग के प्रदर्शन हेतु, controllers/SiteController.php
फाइल में निम्न विधियाँ SiteController
क्लास में जोड़ें:
php
<?php
namespace app\controllers;
use Yii;
use yii\web\Controller;
use yii\web\Response;
use yii\db\Exception as DbException; // डेटाबेस एक्सेप्शन क्लास इनपोर्ट करें
class SiteController extends Controller
{
/**
* होमपेज दिखाएँ
*
* @return string
*/
public function actionIndex()
{
return $this->render('index');
}
/**
* Memcached प्रदर्शन का उदाहरण।
*
* @return Response
*/
public function actionMemcached()
{
$cache = Yii::$app->cache;
$key = 'my_memcached_test_key';
$data = 'Hello Memcached from ServBay!';
$duration = 60; // 60 सेकंड के लिए कैश करें
if ($cache->set($key, $data, $duration)) {
$value = $cache->get($key);
return $this->asText("Memcached सेट सफल। प्राप्त मूल्य: " . $value);
} else {
return $this->asText("Memcached में डेटा सेट विफल। कृपया कैश सेवा एवं कॉन्फ़िगरेशन जांचें।");
}
}
/**
* Redis प्रदर्शन का उदाहरण।
*
* @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 सेट सफल। प्राप्त मूल्य: " . $value);
} else {
return $this->asText("Redis में डेटा सेट विफल। कृपया Redis सेवा एवं कॉन्फ़िगरेशन जांचें।");
}
} catch (\yii\base\Exception $e) {
return $this->asText("Redis त्रुटि: " . $e->getMessage() . ". कृपया Redis सेवा एवं सेटिंग जांचें।");
}
}
/**
* डेटाबेस में यूजर जोड़ना (उदाहरण हेतु)
* मान लिया है कि 'users' टेबल मौजूद है।
*
* @return Response
*/
public function actionMysqlAdd() // PostgreSQL के लिए भी उपयुक्त, सही कॉन्फ़िगरेशन के साथ
{
try {
$count = Yii::$app->db->createCommand()->insert('users', [
'name' => 'ServBay Demo User', // ब्रांडिंग अनुसार डेमो नाम
'email' => 'demo-user@servbay.test', // ब्रांडिंग अनुसार डेमो ईमेल
])->execute();
return $this->asText("यूजर सफलतापूर्वक जोड़ा गया। प्रभावित पंक्तियाँ: " . $count);
} catch (DbException $e) {
return $this->asText("डेटाबेस में यूजर जोड़ना विफल। त्रुटि: " . $e->getMessage() . ". सेवाएँ, सेटअप और 'users' टेबल जांचें।");
}
}
/**
* डेटाबेस से यूजर लाना (उदाहरण हेतु)
* मान लिया है कि 'users' टेबल मौजूद है।
*
* @return Response
*/
public function actionMysql() // PostgreSQL के लिए भी उपयुक्त, सही कॉन्फ़िगरेशन के साथ
{
try {
$users = Yii::$app->db->createCommand('SELECT id, name, email FROM users')->queryAll();
// आउटपुट फ़ॉर्मेटिंग, संवेदनशील या घुल-मिल डेटा से बचाव हेतु
$output = "प्राप्त यूजर्स:\n";
foreach ($users as $user) {
$output .= "- आईडी: {$user['id']}, नाम: {$user['name']}, ईमेल: {$user['email']}\n";
}
return $this->asText($output);
} catch (DbException $e) {
return $this->asText("डेटाबेस से यूजर लाना विफल। त्रुटि: " . $e->getMessage() . ". सेवाएँ, सेटअप और 'users' टेबल जांचें।");
}
}
// यदि आप PostgreSQL इस्तेमाल करते हैं, अलग action विधि बना सकते हैं
// public function actionPgsqlAdd() { ... }
// public function actionPgsql() { ... }
/**
* आउटपुट को सिंपल टेक्स्ट फॉर्मेट करें।
* @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;
}
/**
* आउटपुट को JSON फॉर्मेट करें।
* @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
और actionMysql
में एरर हैंडलिंग और आउटपुट फॉर्मेटिंग क्लियर की है, तथा डेमो यूजर/ईमेल ServBay ब्रांडिंग के अनुसार है।
प्रोजेक्ट रूट के views/site/index.php
को एडिट करें, जो actionIndex
का व्यू है। डिफ़ॉल्ट रखें या चाहें तो कस्टमाइज़ करें:
php
<?php
/* @var $this yii\web\View */
/* @var $name string */
/* @var $message string */
/* @var $exception Exception */
use yii\helpers\Html;
$this->title = 'My Yii2 Application on ServBay'; // शीर्षक अपडेट करें
?>
<div class="site-index">
<div class="jumbotron">
<h1>बधाई हो!</h1>
<p class="lead">आपने सफलतापूर्वक Yii2 एप्लिकेशन बनाया एवं ServBay के साथ कॉन्फ़िगर किया!</p>
<p><a class="btn btn-lg btn-success" href="https://www.yiiframework.com">Yii से शुरुआत करें</a></p>
</div>
<div class="body-content">
<h2>डेमो</h2>
<ul>
<li><a href="<?= Html::toRoute('site/memcached') ?>">Memcached टेस्ट करें</a></li>
<li><a href="<?= Html::toRoute('site/redis') ?>">Redis टेस्ट करें</a></li>
<li><a href="<?= Html::toRoute('site/mysql-add') ?>">DB में यूजर जोड़ें</a> (Requires 'users' table)</li>
<li><a href="<?= Html::toRoute('site/mysql') ?>">DB से यूज़र प्राप्त करें</a> (Requires 'users' table)</li>
</ul>
<p>कृपया सुनिश्चित करें कि ServBay में Memcached, Redis और आपका डेटाबेस (MySQL/PostgreSQL) चालू हैं एवं `config/web.php` एवं `config/db.php` में सही सेटिंग हैं।</p>
<p>डेटाबेस उदाहरण के लिए, आपको नीचे बताए अनुसार 'users' टेबल माइग्रेशन से बनानी होगी।</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
यहाँ व्यू में डेमो लिंक जोड़े गए हैं ताकि नई कंट्रोलर एक्शन टेस्ट कर सकें।
रिलेशनल डेटाबेस: टेबल स्ट्रक्चर बनाएँ (माइग्रेशन)
actionMysqlAdd
और actionMysql
के टेस्ट हेतु डेटाबेस में users
टेबल बनानी होगी। Yii में डेटाबेस स्कीमा चेंज हेतु माइग्रेशन उपयोगी है।
Gii टूल से माइग्रेशन फाइल बनाएँ: टर्मिनल में प्रोजेक्ट रूट पर जाएँ और नई माइग्रेशन फाइल बनाएँ।
प्रोजेक्ट रूट:
- macOS:
/Applications/ServBay/www/servbay-yii2-app
- Windows:
C:\ServBay\www\servbay-yii2-app
bashphp yii migrate/create create_users_table
1yes
टाइप करें और Enter दबाएँ। इस कमांड सेmigrations
फोल्डर में एक नई PHP फाइल बनेगी, जैसेmYYYYMMDD_HHMMSS_create_users_table.php
।- macOS:
माइग्रेशन फाइल एडिट करें: नई फाइल खोलकर
up()
मेथड में टेबल स्ट्रक्चर सेट करें:php<?php use yii\db\Migration; /** * Handles the creation of table `{{%users}}`. */ class mXXXXXXXXXXXXXX_create_users_table extends Migration // XXXXXXXXXXXXXX = टाइमस्टैम्प { /** * {@inheritdoc} */ public function up() { $this->createTable('{{%users}}', [ // {{%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'), ]); // वैकल्पिक: इंडेक्स परफॉरमेंस हेतु $this->createIndex( 'idx-users-email', '{{%users}}', 'email', true // true = यूनिक इंडेक्स ); } /** * {@inheritdoc} */ public function down() { // इंडेक्स हटाएँ $this->dropIndex( 'idx-users-email', '{{%users}}' ); // टेबल हटाएँ $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
को अपनी जेनरेटेड फाइल के नाम से बदलें।माइग्रेशन चलाएँ: प्रोजेक्ट रूट पर निम्न कमांड चलाएँ जिससे डेटाबेस में टेबल बन जाएगा।
bashphp yii migrate
1yes
लिखें और Enter दबाएँ। अगर सब ठीक है तो टेबल बनने की पुष्टि दिखेगी।
वेबसाइट विज़िट करें और टेस्ट करें
अब ब्राउज़र में अपने सेट किए हुए डोमेन पर जाएँ — जैसे https://servbay-yii2-test.local
- मुख्य पेज पर जाएँ:
https://servbay-yii2-test.local
पर जाने पर Yii 2 का वेलकम पेज, साथ ही डेमो लिंक दिखना चाहिए। - "Memcached टेस्ट करें" लिंक या
https://servbay-yii2-test.local/index.php?r=site/memcached
पर जाएँ: सही सर्विस-सेटअप होने पर "Memcached सेट सफल" मैसेज मिलेगा। - "Redis टेस्ट करें" लिंक या
https://servbay-yii2-test.local/index.php?r=site/redis
: सफल सेटअप पर "Redis सेट सफल..." संदेश मिलेगा। - "DB में यूजर जोड़ें" लिंक या
https://servbay-yii2-test.local/index.php?r=site/mysql-add
: डेटाबेस और ‘users’ टेबल के सेटअप होने पर "यूजर सफलतापूर्वक जोड़ा गया..." आउटपुट मिलेगा। - "DB से यूज़र प्राप्त करें" लिंक या
https://servbay-yii2-test.local/index.php?r=site/mysql
: ‘users’ टेबल में मौजूद यूज़र्स की सूची दिखेगी।
अगर किसी स्टेप पर समस्या आए तो ServBay में संबंधित सेवा एवं प्रोजेक्ट कॉन्फ़िगरेशन (config/db.php
, config/web.php
) ज़रूर देखें और माइग्रेशन से टेबल बनी है इसकी जांच करें।
अक्सर पूछे जाने वाले सवाल (FAQ)
- डोमेन ऐक्सेस करते समय वेबसाइट नहीं खुलती या SSL एरर क्यों आती है? सुनिश्चित करें कि वेबसाइट सेटिंग में सही डोमेन ऐड किया गया है और ServBay ऐप चल रहा है। ServBay लोकल DNS एवं SSL खुद सेट करता है। SSL एरर की स्थिति में ServBay User CA या Public CA को ट्रस्ट करें। विस्तृत स्टेप्स ServBay डाक्यूमेंटेशन में देखें।
- Composer कमांड नहीं चल रही? सुनिश्चित करें कि Composer पैकेज एक्टिव है और आप macOS का टर्मिनल इस्तेमाल कर रहे हैं। ServBay Composer को PATH में जोड़ देता है।
- डेटाबेस से कनेक्शन विफल? देखते रहें कि MySQL/PostgreSQL सेवा चल रही है।
config/db.php
में dsn, username, password सर्विस सेटिंग के अनुसार भरें। डेटाबेस बना है या नहीं इसकी पुष्टि भी करें—Adminer टूल से जांच लें। - Memcached/Redis से कनेक्शन विफल? सर्विस चालू है या नहीं तथा
config/web.php
की host/port वैल्यू (127.0.0.1 और डिफ़ॉल्ट पोर्ट) सही हैं या नहीं—यह जांचें। - डेटाबेस माइग्रेशन (
php yii migrate
) विफल? डेटाबेस सेवा चालू है,config/db.php
सही है और डेटाबेस बना है—यह सुनिश्चित करें। actionMysqlAdd
/actionMysql
में 'टेबल नहीं मिला' एरर क्यों? पहलेphp yii migrate
कमांड चला कर 'users' टेबल बनाएँ।- PHP एरर लॉग कहाँ देखें? ServBay ऐप में "लॉग्स" सेक्शन पर जाएँ—PHP और वेब सर्वर के सब लॉग्ज़ वहीं मिलते हैं।
निष्कर्ष
ServBay के ज़रिए macOS एवं Windows पर Yii 2 प्रोजेक्ट की स्थापना, रनिंग व डेमो बहुत आसान है। पहले से इंस्टॉल Composer, PHP वर्जन मैनेजमेंट, बिल्ट-इन डेटाबेस व कैश सेवाएँ और वेबसाइट सेटअप फीचर—इन सबसे Yii 2 प्रोजेक्ट बनाना और डेवलप करना बेहद आसान हो जाता है। इस गाइड के अनुसार आप बहुत जल्दी अपना डेवलपमेंट शुरू कर सकते हैं और ServBay के टूल्स से उत्पादकता बढ़ा सकते हैं।
आपका डेवेलपमेंट सुखद हो!