Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ: Yii, mongodb ΠΈΠ»ΠΈ couchdb.
Π’Π΅ΠΌΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ: Π‘Π°ΠΉΡ ΠΎΡΠ·ΡΠ²ΠΎΠ² ΠΎ ΡΠΎΠ²Π°ΡΠ°Ρ (Π°Π½Π°Π»ΠΎΠ³ irecommend.ru)
- ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠΎΠΌ (ΡΠΏΠΈΡΠΊΠΎΠΌ ΡΠΎΠ²Π°ΡΠΎΠ² ΠΈ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡΠΌΠΈ ΡΠΎΠ²Π°ΡΠΎΠ² - CRUD) Π² Π°Π΄ΠΌΠΈΠ½ΠΊΠ΅
- ΠΏΠΎΠΈΡΠΊ ΡΠΎΠ²Π°ΡΠ° ΠΏΠΎ Π΅Π³ΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ
- ΠΎΡΠ·ΡΠ²Ρ, ΡΠ΅ΠΉΡΠΈΠ½Π³ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΎΠ²Π°ΡΠ°
- Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΎΠ²Π°ΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΊΡΠ΅ΠΏΠΈΡΡ Π² Π°Π΄ΠΌΠΈΠ½ΠΊΠ΅
ΠΠ°Π±ΠΎΡΠ°ΡΠΎΡΠ½Π°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° Yii ΠΈ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ [mongodb].
- ΠΡΠ³ΡΡΠ·ΠΈΡΡ ΠΏΡΠΎΠ΅ΠΊΡ ΠΈΠ· ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ:
git clone https://github.com/akonit/lab3.git- ΠΠΎΠΌΠ΅ΡΡΠΈΡΡ Π²ΡΠ³ΡΡΠΆΠ΅Π½Π½ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ lab3 Π² ΠΊΠΎΡΠ½Π΅Π²ΡΡ ΠΏΠ°ΠΏΠΊΡ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠ°, ΠΏΠΎΠ΄Π½ΡΡΠΎΠ³ΠΎ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ (ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π»ΠΎΡΡ Π½Π° Apache: Π²Π΅Π±-Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ /var/www, ΡΠ°ΠΌΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΎ ΠΏΠΎ ΠΏΡΡΠΈ /var/www/lab3).
- ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π»ΠΈΠ½ΡΠΊΡΠ° Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΏΡΠ°Π² Π΄Π»Ρ Π²ΡΠ³ΡΡΠΆΠ΅Π½Π½ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ:
sudo chmod -R 777 lab3
sudo chown www-data -R lab3- ΠΠ°ΠΊΠ°ΡΠΈΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ : Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ lab3 Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
mongo < protected/data/schema.update- ΠΠ»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π³Π»Π°Π²Π½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ
http://localhost/lab3/index.php. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠΉ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ - demo/demo, Π°Π΄ΠΌΠΈΠ½ΡΠΊΠΈΠΉ - admin/admin.
Π ΡΠ»ΡΡΠ°Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
- Π£Π΄ΠΎΡΡΠΎΠ²Π΅ΡΠΈΡΡΡΡ, ΡΡΠΎ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π΄ΡΠ°ΠΉΠ²Π΅Ρ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ
mongoΠΈΠ·-ΠΏΠΎΠ΄php- MongoDB PHP driver. - ΠΠΎΠ±Π°Π²ΠΈΡΡ Π²
php.iniΡΠ°ΠΉΠ» ΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΡΡΠΎΠΊΡ:
extension=mongo.so
3. ΠΡΠΎΠ²Π΅ΡΠΈΡΡ, ΡΡΠΎ ΠΏΡΠ½ΠΊΡ 2 Π±ΡΠ» Π²ΡΠΏΠΎΠ»Π½Π΅Π½ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΄Π»Ρ php.ini, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ. Π‘Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ, ΡΠ°ΡΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π² Π² ΡΠ°ΠΌΠΎΠΌ Π½Π°ΡΠ°Π»Π΅ ΡΠ°ΠΉΠ»Π° protected/config/main.php ΡΡΡΠΎΠΊΡ:
phpinfo();
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅, ΠΏΡΠΈ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° Π³Π»Π°Π²Π½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΎΡΠΎΠ±ΡΠ°Π·ΡΡΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ°, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°Π΅ΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠΡΠ½ΠΊΡ 2 Π½ΡΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π΄Π»Ρ php.ini, ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π² ΡΡΠΈΡ
Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ
.
4. ΠΡΠΎΠ²Π΅ΡΠΈΡΡ, ΡΡΠΎ Π΄ΡΠ°ΠΉΠ²Π΅Ρ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½:
php -m
Π Π²ΡΠ²ΠΎΠ΄Π΅ ΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π½ΡΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΡΡΡΠΎΠΊΡ mongo - Π΅Π΅ Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π΄ΡΠ°ΠΉΠ²Π΅Ρ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½.
4. ΠΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠ΅ΡΠ²Π΅Ρ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ Ρ
ΠΎΡΡΠΈΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
- ΠΡΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΡΠ΅Π½ΠΊΠΈ ΡΠΎΠ²Π°ΡΡ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΡΠΎΠ²Π°ΡΠ°.
- Π€ΡΠ½ΠΊΡΠΈΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΎΡΠ·ΡΠ²Π° ΠΎ ΠΏΡΠΎΠ΄ΡΠΊΡΠ΅ Π΄ΠΎΡΡΡΠΏΠ½Π° Π² ΠΏΡΠ°Π²ΠΎΠΉ ΡΠ°ΡΡΠΈ ΡΠΊΡΠ°Π½Π° Π²ΠΌΠ΅ΡΡΠ΅ Ρ CRUD ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ.
- ΠΠ°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠ·ΡΠ²ΠΎΠ² ΠΈ ΠΏΡΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΡΠ΅Π½ΠΊΠΈ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π°Π²ΡΠΎΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ (demo/demo).
- ΠΡΠΎΠ΄ΡΠΊΡΡ ΠΈ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ ΡΠ²ΡΠ·Π°Π½Ρ ΡΠ΅ΡΠ΅Π· Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ°Π±Π»ΠΈΡΡ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ , ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅ΠΌΡΡ ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΠ΅ΠΌΡΡ Π½Π° ΡΠ°ΠΉΡΠ΅ Π²ΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ "Π‘Π²ΡΠ·Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΎΠ΄ΡΠΊΡΠ°ΠΌΠΈ ΠΈ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡΠΌΠΈ".
ΠΡΠΊΠ°Ρ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ lab3:
mongo < protected/data/schema.rollback