Phalcon प्रोजेक्ट बनाएं और चलाएं
Phalcon क्या है?
Phalcon एक ओपन-सोर्स, हाई-पर्फॉर्मेंस PHP वेब फ्रेमवर्क है जो C एक्सटेंशन के रूप में लागू किया गया है। इसकी अनूठी संरचना इसे बेहद कम संसाधन खपत और शानदार गति प्रदान करती है, जिससे यह परंपरागत PHP फ्रेमवर्क्स से बहुत आगे निकल जाता है। Phalcon MVC (मॉडल-व्यू-कंट्रोलर) आर्किटेक्चर आधारित है और ORM, टेम्पलेट इंजन, राउटिंग, कैशिंग, ईवेंट मैनेजर इत्यादि जैसे कई शक्तिशाली कॉम्पोनेंट्स देता है ताकि डेवलपर्स जल्दी से शक्तिशाली और स्केलेबल वेब ऐप्स तथा एपीआई तैयार कर सकें।
Phalcon के मुख्य फीचर्स और फायदे
- शानदार प्रदर्शन: C एक्सटेंशन के तौर पर चलते हुए, Phalcon PHP स्क्रिप्ट को बार-बार लोड करने की आवश्यकता नहीं रखता, जिससे नेटिव लेवल की गति मिलती है।
- संसाधन दक्षता: मेमोरी बेहद कम लेता है, इसलिए वह एप्लिकेशन के लिए आदर्श है जिनमें प्रदर्शन और विस्तारशीलता आवश्यक है।
- फंक्शनलिटी पूरी: अधिकांश जरूरी वेब ऐप कॉम्पोनेंट्स पहले से ही बिल्ट-इन हैं, जिससे थर्ड-पार्टी लाइब्रेरी पर निर्भरता घटती है।
- आसान उपयोग: इसका API साफ-सुथरा और डॉक्युमेंटेशन विस्तार से बना है, इसलिए नये डेवलपर भी जल्दी सीख सकते हैं।
- हाई डिकपलिंग: सभी कॉम्पोनेंट्स स्वतंत्र हैं; आप प्रोजेक्ट की जरूरत के अनुसार कॉम्पोनेंट्स को चुन या बदल सकते हैं।
- सुरक्षा: इनपुट फ़िल्टरिंग, CSRF सुरक्षा आदि सुरक्षा संबंधी फीचर्स भी आते हैं।
Phalcon हाई परफॉर्मेंस, स्केलेबल वेब ऐप्स और APIs के लिए खास तौर पर उपयुक्त है, खासकर जब स्पीड और रिसोर्स एफिशियंसी ज़रूरी हो।
ServBay के साथ Phalcon प्रोजेक्ट बनाना और चलाना
ServBay macOS के लिए बना लोकल वेब डेवलपमेंट एनवायरनमेंट है, जिसमें PHP के कई वर्शन, डेटाबेस (MySQL, PostgreSQL, MongoDB, Redis) और वेब सर्वर (Caddy, Nginx, Apache) सहित बाकी टूल्स पहले से शामिल हैं। ServBay के इस्तेमाल से आप Phalcon प्रोजेक्ट के लिए एनवायरनमेंट आसानी से और जल्दी बना सकते हैं।
यह गाइड आपको ServBay के PHP वातावरण में Phalcon प्रोजेक्ट बनाने, वेब सर्वर को कॉन्फ़िगर करने और MySQL (रिलेशनल DB) व Redis (NoSQL DB) को जोड़ने के स्टेप्स समझाएगी।
आवश्यकताएँ
शुरू करने से पहले, यह सुनिश्चित करें:
- ServBay इंस्टॉल और रन हो चुका है: MacOS में ServBay सफलतापूर्वक इंस्टॉल और चालू हो।
- PHP वर्शन सक्षम है: ServBay में अपनी पसंद का PHP वर्शन चालू करें।
- Phalcon मॉड्यूल सक्षम है: ServBay में Phalcon एक्सटेंशन पहले से है, लेकिन जरूरी नहीं कि चालू हो। कृपया ServBay में Phalcon मॉड्यूल कैसे सक्षम करें गाइड देखकर अपने PHP वर्शन में Phalcon चालू करें व PHP सर्विस को रीस्टार्ट करें।
- Composer उपलब्ध है: ServBay Composer पहले से शामिल करता है, अलग से इंस्टॉल नहीं करना पड़ेगा। टर्मिनल में
composerकमांड चलाकर जाँच लें।
Phalcon और DevTools के अलग-अलग वर्शन
Phalcon एवं उसके DevTools (CLI टूल्स) वर्शन आपके PHP वर्शन के अनुरूप होने चाहिए। नीचे तालिका में PHP, Phalcon तथा DevTools वर्शन के सिफारिशी मिलान दिए हैं:
| PHP वर्शन | अनुशंसित Phalcon वर्शन | अनुशंसित Phalcon DevTools वर्शन | नोट्स |
|---|---|---|---|
| PHP 5.6, 7.0, 7.1 | Phalcon 3.4.5 | 3.4.x | |
| PHP 7.2, 7.3, 7.4 | Phalcon 4.1.2 | ~4.1 (या 4.3.x) | |
| PHP 8.0, 8.1, 8.2 | Phalcon 5.x | 5.0.x (आधिकारिक) | PHP 8.x पर आधिकारिक DevTools में संगतता की समस्या हो सकती है |
| PHP 8.3, 8.4 | Phalcon 5.x | dev-master (फिक्स्ड रिपोज़) | बेहतर संगतता के लिए समुदाय का फिक्स्ड वर्शन अपनाएं |
महत्वपूर्ण: PHP 8.x+ पर आधिकारिक DevTools ठीक से काम नहीं करते; बेहतर अनुभव के लिए समुदाय का फिक्स्ड वर्शन Composer से स्थापित करें। आगे के स्टेप्स में Composer की मदद से DevTools का फिक्स्ड रिपोजीटरी कैसे लगाएं – यह दर्शाया गया है।
Phalcon प्रोजेक्ट बनाएँ
सिफारिशी वेबसाइट पाथ
अच्छे प्रबंधन के लिए ServBay सभी वेबसाइट प्रोजेक्ट्स की जगह /Applications/ServBay/www मुख्य डायरेक्टरी में रखने की सलाह देता है। इस उदाहरण में भी हम यहीं प्रोजेक्ट बनाएँगे।
वेब डायरेक्टरी में जाकर नया प्रोजेक्ट फोल्डर बनाएँ
टर्मिनल खोलें, ServBay की वेबसाइट रूट में जाएँ और Phalcon प्रोजेक्ट के लिए फोल्डर बनाएं (
servbay-phalcon-appजैसी कोई नाम):bashcd /Applications/ServBay/www mkdir servbay-phalcon-app cd servbay-phalcon-app1
2
3Phalcon DevTools इंस्टॉल करें
Phalcon DevTools CLI टूल है, जिससे प्रोजेक्ट स्ट्रक्चर, कोड जनरेशन और डेटाबेस माइग्रेशन आसान होते हैं। Composer द्वारा इसे इंस्टॉल करें। PHP वर्शन के अनुसार कमांड बदलती है:
PHP 5.6, 7.0, 7.1 (DevTools
^3.4):bashcomposer require phalcon/devtools:"^3.4"1PHP 7.2, 7.3, 7.4 (DevTools
~4.1):bashcomposer require phalcon/devtools:"~4.1"1PHP 8.0, 8.1, 8.2, 8.3, 8.4 (DevTools
dev-masterफिक्स वर्शन): PHP 8.x पर संगतता समस्या के कारण, Composer से फिक्स वर्शन लगाना पड़ेगा – प्रोजेक्ट की root डायरेक्टरी (/Applications/ServBay/www/servbay-phalcon-app) मेंcomposer.jsonमें रिपोज जोड़ें:json{ "repositories": [ { "url": "https://github.com/daleffe/phalcon-devtools-5.x-fixed.git", "type": "git" } ], "require": { "phalcon/devtools": "dev-master" }, "minimum-stability": "dev", "prefer-stable": true }1
2
3
4
5
6
7
8
9
10
11
12
13फिर Composer को अपडेट करें:
bashcomposer update1
इंस्टॉल के बाद, DevTools का executable
vendor/bin/phalconमें मिलेगा।DevTools के ज़रिए प्रोजेक्ट स्ट्रक्चर बनाएँ
अब DevTools कमांड से बेसिक फोल्डर स्ट्रक्चर बनाएँ; कोड एक child डायरेक्टरी में (जैसे
servbay-phalcon-app) रहेगा:bashvendor/bin/phalcon project servbay-phalcon-app1इससे
/Applications/ServBay/www/servbay-phalcon-appके अंदर/servbay-phalcon-appनामक सब-डायरेक्टरी तैयार होगी जिसमें पूरा skeleton मिल जायेगा।प्रोजेक्ट कोड डायरेक्टरी में जाएँ
आगे की कमांड्स इसी फोल्डर में रहेंगी:
bashcd servbay-phalcon-app1अब आप
/Applications/ServBay/www/servbay-phalcon-app/servbay-phalcon-appमें हैं।
प्रोजेक्ट वातावरण की सेटिंग
Phalcon प्रोजेक्ट की सेटिंग मुख्यतः app/config/config.php में मिलती है। यहाँ डेटाबेस-कनफिग, एप्लिकेशन पाथ आदि सेट करें।
कनफिग फाइल एडिट करें
अपने पसंदीदा एडिटर में
/Applications/ServBay/www/servbay-phalcon-app/servbay-phalcon-app/app/config/config.phpखोलें। डेटाबेस से संबंधित स्क्रिप्ट सेट करें। ServBay में MySQL/MariaDB का default userrootरहता है, default पासवर्ड नही रहता (इसे ज़रूरत अनुसार बदलें)। उदाहरण के लिए:phpreturn new \Phalcon\Config([ // ... अन्य सेटिंग्स ... 'database' => [ 'adapter' => 'Mysql', // या 'Postgres' 'host' => '127.0.0.1', 'username' => 'root', // ServBay default user 'password' => 'password', // <-- अपने पासवर्ड से बदलें 'dbname' => 'servbay_phalcon_app', // <-- अपने डेटाबेस नाम से बदलें ], // ... अन्य सेटिंग्स ... ]);1
2
3
4
5
6
7
8
9
10
11महत्वपूर्ण: ServBay में डेटाबेस सर्विस (MySQL/MariaDB) चालू रहे, और
servbay_phalcon_appनामक डेटाबेस बना लें। ServBay का phpMyAdmin या Adminer टूल इस्तेमाल कर यूजर और डेटाबेस बनायें/मैनेज करें।
वेब सर्वर सेटअप (ServBay की वेबसाइट फीचर से)
Phalcon प्रोजेक्ट को ब्राउज़र से देखने के लिए ServBay की वेबसाइट फीचर से एक virtual host बनाइए।
- ServBay ऐप खोलें
- 'वेबसाइट' सेटिंग पर जाएँ: मुख्य इंटरफेस में 'Website' सेक्शन पर क्लिक करें।
- नई वेबसाइट जोड़ें: ऐड बटन दबाएँ।
- नाम: जैसे
My First Phalcon Dev Site। - डोमेन: ब्राउज़र में चलाने के लिए जैसे
servbay-phalcon-test.local।.localडोमेन ऑटोमैटिक करके लोकली चलता है। - साइट टाइप:
PHPचुनें। - PHP वर्शन: जो Phalcon सक्षम है – वही वर्शन चुनें।
- साइट रूट: Phalcon में
index.phpमुख्यतःpublicफोल्डर में है, इसलिए यहांpublicतक का पाथ डालें:/Applications/ServBay/www/servbay-phalcon-app/servbay-phalcon-app/public
- नाम: जैसे
- सेटिंग सेव करें: सेव करें; बदलाव लागू होते समय web server (Caddy/Nginx) restart करना पड़ सकता है।
विस्तृत जानकारी के लिए पहली वेबसाइट जोड़ें देखें। सेटअप के बाद ServBay स्वचालित दें, डोमेन local सर्वर से कनेक्ट कर देगा।
उदाहरण कोड जोड़ें
कुछ बेसिक कोड डालते हैं ताकि जांच सकें प्रोजेक्ट सही से चलता है या नहीं।
राउटिंग सेट करें
/Applications/ServBay/www/servbay-phalcon-app/servbay-phalcon-app/app/config/routes.phpमें root (/) का रूट डालें:php<?php use Phalcon\Mvc\Router; $router = new Router(false); // डिफ़ॉल्ट रूट - '/' को IndexController की indexAction से जोड़ें $router->add( '/', [ 'controller' => 'index', 'action' => 'index', ] ); // ... बाकी रूट डाल सकते हैं ... $router->handle($_SERVER['REQUEST_URI']); return $router;1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19कंट्रोलर बनाएँ
/Applications/ServBay/www/servbay-phalcon-app/servbay-phalcon-app/app/controllers/IndexController.php(अगर नही है तो बनाएँ):php<?php namespace App\Controllers; // सही namespace सेट करें use Phalcon\Mvc\Controller; class IndexController extends Controller { // '/' रूट की handling public function indexAction() { // सिम्पल स्ट्रिंग रेस्पॉन्स return 'Hello ServBay!'; } }1
2
3
4
5
6
7
8
9
10
11
12
13
14
वेबसाइट एक्सेस करें
सारी फाइलें सेव करें, ServBay चालू रहे। ब्राउज़र खोलें और अपनी सेट की हुई लोकल डोमेन खोले:
https://servbay-phalcon-test.local
सही सेटिंग्स पर "Hello ServBay!" दिखेगा।
डेटाबेस एकीकरण
Phalcon का ORM अत्यंत सक्षम है। ServBay की DB सर्विस को जोड़ना काफी आसान है। यहाँ MySQL और Redis उदाहरण साथ दिए हैं।
रिलेशनल डेटाबेस उदाहरण: MySQL
Phalcon का DB ऐडेप्टर इस्तेमाल करके ServBay के MySQL में डाटा insert/query करने का तरीका:
डेटाबेस स्ट्रक्चर बनाएँ (migration से)
DevTools डेटाबेस माइग्रेशन सपोर्ट करता है।
माइग्रेशन फाइल बनाएँ: प्रोजेक्ट डायरेक्टरी (
/Applications/ServBay/www/servbay-phalcon-app/servbay-phalcon-app) में command चलाएँ:bashvendor/bin/phalcon migration generate1इससे
migrationsफोल्डर में फाइल बन जायेगी; नाम कुछ ऐसा हो सकता हैYYYYMMDDHHMMSS_MigrationName.phpमाइग्रेशन एडिट करें: नई माइग्रेशन के
morphमेथड में एक बेसिकusersटेबल बनायें:php<?php use Phalcon\Db\Column; use Phalcon\Db\Index; use Phalcon\Migrations\Mvc\Model\Migration; /** * Class UsersMigration_100 */ class UsersMigration_100 extends Migration // फाइलनाम अनुसार क्लास का नाम रखें { /** * माइग्रेशन चलाएँ * * @return void */ public function morph() { $this->morphTable('users', [ 'columns' => [ new Column( 'id', [ 'type' => Column::TYPE_INTEGER, 'autoIncrement' => true, 'notNull' => true, 'primary' => true, ] ), new Column( 'name', [ 'type' => Column::TYPE_VARCHAR, 'size' => 255, 'notNull' => true, ] ), new Column( 'email', [ 'type' => Column::TYPE_VARCHAR, 'size' => 255, 'notNull' => true, 'unique' => true, ] ), ], 'indexes' => [ new Index('PRIMARY', ['id'], 'PRIMARY'), new Index('email_UNIQUE', ['email'], 'UNIQUE'), ], 'options' => [ 'TABLE_ENGINE' => 'InnoDB', 'CHARACTER SET' => 'utf8mb4', 'COLLATE' => 'utf8mb4_unicode_ci', ], ]); } /** * माइग्रेशन रिवर्स करें * * @return void */ public function down() { // वैकल्पिक: rollback लॉजिक, जैसे टेबल हटाएँ // $this->getConnection()->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
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ध्यान दें: क्लास नाम (
UsersMigration_100) फाइल नाम से मेल खाए और माइग्रेशन सही हो।माइग्रेशन चलाएँ: प्रोजेक्ट डायरेक्टरी में:
bashvendor/bin/phalcon migration run1अगर DB एरर आए तो,
app/config/config.phpका DB सेटअप व ServBay के MySQL/MariaDB की सर्विस ठीक चल रही है यह देखें।
डेटाबेस कनेक्शन सेटिंग (पहले किया जा चुका है)
app/config/config.phpकी'database'सेटिंग्स ServBay के MySQL/MariaDB सेटअप से मेल खाती रहें।उदाहरण रूट जोड़ें
app/config/routes.phpमें यूजर add/query के लिए रूट्स बनाएं:php<?php use Phalcon\Mvc\Router; $router = new Router(false); $router->add('/', [ 'controller' => 'index', 'action' => 'index', ]); // यूज़र डेटा insert करने का रूट $router->add( '/mysql-add', [ 'controller' => 'index', 'action' => 'mysqlAdd', ] ); // यूज़र data दिखाने का रूट $router->add( '/mysql', [ 'controller' => 'index', 'action' => 'mysql', ] ); $router->handle($_SERVER['REQUEST_URI']); return $router;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कंट्रोलर में डेटाबेस ऑपरेशन करें
app/controllers/IndexController.phpमेंmysqlAddActionऔरmysqlActionडालें:php<?php namespace App\Controllers; use Phalcon\Mvc\Controller; use Phalcon\Db\Adapter\Pdo\Mysql; // MySQL adapter use Phalcon\Db\Enum; // fetchAll constants class IndexController extends Controller { public function indexAction() { return 'Hello ServBay!'; } // यूज़र डेटा insert करें public function mysqlAddAction() { // DB कनेक्शन सीधा बनाकर (prod में service या DI से लें) $connection = new Mysql([ 'host' => '127.0.0.1', 'username' => 'root', 'password' => 'password', // <-- अपने पासवर्ड से बदलें 'dbname' => 'servbay_phalcon_app', 'charset' => 'utf8mb4', ]); // टेस्ट यूज़र insert करें $success = $connection->insert( 'users', ['ServBay Demo User', 'demo@servbay.test'], ['name', 'email'] ); // रिजल्ट दिखाएँ echo $success ? 'User added successfully.' : 'Failed to add user.'; } // यूज़र डेटा दिखाएँ public function mysqlAction() { // DB कनेक्शन $connection = new Mysql([ 'host' => '127.0.0.1', 'username' => 'root', 'password' => 'password', // <-- अपने पासवर्ड से बदलें 'dbname' => 'servbay_phalcon_app', 'charset' => 'utf8mb4', ]); // टेबल से डाटा लाएँ $users = $connection->fetchAll('SELECT * FROM users', Enum::FETCH_ASSOC); // JSON में दिखाएँ header('Content-Type: application/json'); echo json_encode($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
46
47
48
49
50
51
52
53
54
55
56
57जानकारी: प्रोडक्शन में DB कनेक्शन सर्विस या DI (dependency injection) से लें, direct नहीं बनाएं।
इस्तेमाल
- ब्राउज़र में
https://servbay-phalcon-test.local/mysql-addखोलें; सफल होने पर "User added successfully." दिखेगा। - फिर
https://servbay-phalcon-test.local/mysqlखोलें; JSON में users की लिस्ट देख सकेंगे।
- ब्राउज़र में
NoSQL डेटाबेस उदाहरण: Redis
देखें ServBay के Redis सर्वर को Phalcon में कैसे के कैश के तौर पर इस्तेमाल करें।
Redis एक्सटेंशन इंस्टॉल करें
ServBay के PHP build में Redis एक्सटेंशन बिल्ट-इन है; आपको अलग से
peclया बिल्ड नहीं करना पड़ेगा। बस सही PHP वर्शन में Redis enable कर लें।Redis कनेक्शन सेट करें
app/config/config.phpमें Redis स्ट्रक्चर जोड़ें (ServBay में Redis default127.0.0.1, पोर्ट 6379):phpreturn new \Phalcon\Config([ // ... अन्य सेटिंग्स ... 'cache' => [ 'adapter' => 'Redis', 'host' => '127.0.0.1', 'port' => 6379, 'index' => 0, // Redis DB index 'persistent' => false, 'auth' => null, // अगर password लगाया है तो डालें ], // ... अन्य सेटिंग्स ... ]);1
2
3
4
5
6
7
8
9
10
11
12उदाहरण रूट जोड़ें
app/config/routes.phpमें एक कैश डेमो रूट बनायें:php<?php use Phalcon\Mvc\Router; $router = new Router(false); $router->add('/', [ 'controller' => 'index', 'action' => 'index', ]); $router->add('/mysql-add', [ 'controller' => 'index', 'action' => 'mysqlAdd', ]); $router->add('/mysql', [ 'controller' => 'index', 'action' => 'mysql', ]); // Redis कैश डेमो का रूट $router->add( '/redis', [ 'controller' => 'index', 'action' => 'redis', ] ); $router->handle($_SERVER['REQUEST_URI']); return $router;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कंट्रोलर में Redis कैश का इस्तेमाल
app/controllers/IndexController.phpमेंredisActionडालें:php<?php namespace App\Controllers; use Phalcon\Mvc\Controller; use Phalcon\Db\Adapter\Pdo\Mysql; use Phalcon\Db\Enum; use Phalcon\Cache\Adapter\Redis; // Redis cache adapter use Phalcon\Storage\SerializerFactory; // Serializer factory class IndexController extends Controller { public function indexAction() { return 'Hello ServBay!'; } public function mysqlAddAction() { $connection = new Mysql([/* ... */]); $success = $connection->insert(/* ... */); echo $success ? 'User added successfully.' : 'Failed to add user.'; } public function mysqlAction() { $connection = new Mysql([/* ... */]); $users = $connection->fetchAll('SELECT * FROM users', Enum::FETCH_ASSOC); header('Content-Type: application/json'); echo json_encode($users); } // Redis कैश डेमो public function redisAction() { // Serializer factory बनाएं $serializerFactory = new SerializerFactory(); // Redis cache options config करें // ध्यान रखें कि config सेटिंग्स कॉन्फिग फाइल से मेल खाएं $options = [ 'defaultSerializer' => 'Json', // JSON में स्टोर करें 'lifetime' => 3600, 'host' => '127.0.0.1', 'port' => 6379, 'index' => 0, // 'auth' => 'your_redis_password', ]; // Redis adapter instance $cache = new Redis($serializerFactory, $options); $cacheKey = 'my_servbay_redis_cache_key'; $cachedData = $cache->get($cacheKey); // पुराने कैश का डेटा देखें if ($cachedData === null) { // अगर कैश खाली है echo "Data not found in cache, fetching from source..."; $cachedData = 'Data fetched from source: Hello Redis from ServBay!'; $cache->set($cacheKey, $cachedData); // डेटा कैश करें echo "Data stored in cache."; } else { // अगर कैश में डेटा है echo "Data found in cache: "; } // डेटा लौटाएँ return $cachedData; } }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जानकारी: प्रोडक्शन में cache सर्विस को DI में रजिस्टर करें और सीधे न बनाएं।
इस्तेमाल
ब्राउज़र में
https://servbay-phalcon-test.local/redisखोलें।- पहली बार "Data not found in cache, fetching from source...Data stored in cache." के साथ "Data fetched from source: Hello Redis from ServBay!" दिखेगा।
- अगली बार "Data found in cache:" के साथ वही डेटा मिले, यानी Redis कॉन्फ़िग सही है।
अक्सर पूछे जाने वाले सवाल (FAQ)
- प्र. वेबसाइट दिखाने में 404 Not Found आता है तो?
- उ. ServBay वेबसाइट सेटिंग में "साइट रूट" सही से Phalcon प्रोजेक्ट के
publicफोल्डर को पॉइंट करे (/Applications/ServBay/www/servbay-phalcon-app/servbay-phalcon-app/public)। साथ ही, ServBay का वेब सर्वर (Caddy/Nginx) चालू रहे और डोमेन का लोकल रिजॉल्व सही हो।
- उ. ServBay वेबसाइट सेटिंग में "साइट रूट" सही से Phalcon प्रोजेक्ट के
- प्र. Phalcon मॉड्यूल नहीं मिला - जैसे Class 'Phalcon\Mvc\Application' not found?
- उ. यह तब होता है जब PHP वर्शन में Phalcon एक्सटेंशन enable नहीं है। ServBay GUI से सही PHP वर्शन में Phalcon चालू करें और PHP service रीस्टार्ट करें। संदर्भ: ServBay में Phalcon कैसे enable करें।
- प्र. डेटाबेस कनेक्शन fail हो रहा है?
- उ.
app/config/config.phpमें DB सेटिंग्स (होस्ट, यूज़र, पासवर्ड, DB नाम) सही हैं या नहीं – जाँचें। ServBay में MySQL/MariaDB चालू रहे; यूजर को कनेक्ट और DB access करने की अनुमति दें, और DB अपडेटेड हो।
- उ.
सारांश
ServBay के साथ आप Phalcon फ्रेमवर्क के लिए एक शक्तिशाली लोकल डेवेलपमेंट वातावरण बहुत आसानी से बना सकते हैं। इस गाइड में दिखाया गया है कि कैसे प्रोजेक्ट स्ट्रक्चर बनायें, वेब सर्वर सेट करें, MySQL और Redis जोड़ें। ServBay के बिल्ट-इन पैकेज और आसान GUI से लोकल एनवायरनमेंट सेटअप और मेन्टेनेन्स सरल हो जाती है, ताकि आप Phalcon ऐप में पूरी तरह ध्यान केंद्रित रख सकें। उम्मीद है यह गाइड ServBay और Phalcon के साथ आपकी वेब डेवलपमेंट यात्रा को आसान और उत्पादक बनाएगी!
