PHP-дің кіріктірілген web серверін YII үшін пайдалану

Армысың халқым! Тағы бір ұйқысыз түн және сіздермен тағы да Шәйнек. Шәйнек болған соң php-дің кіріктірілген веб сервері бар екенін енді біліп жүрмін. Әр кезде LAMP немесе виртуалды машина қосып жүретін мен бұл тамаша құралды тауып алып қуанып қалдым. Енді сол серверді Yii үшін пайданайық. Кіріктірілген веб сервер жобаны жазған кезде өте пайдалы, жеңіл және debug жасауға ыңғайлы. Бірақ продакшнда пайдалануға болмайды.

Кіріктірілген сервер php 5.4.0-те пайда болған. Сондықтан php нұсқаңыз осы нұсқадан жоғары болуы керек. Оны былай тексереміз:
php -v


Менде 5.5.9 екен:
PHP 5.5.9-1ubuntu4.5 (cli) (built: Oct 29 2014 11:59:10) 
Copyright © 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright © 1998-2014 Zend Technologies
    with Zend OPcache v7.0.3, Copyright © 1999-2014, by Zend Technologies


Кіріктірілген веб серверді пайдалану үшін -S және -t кілттері пайдаланылады. Сізде веб сервердің жұмыс жасап тұрғанын тексеру үшін, кез-келген папкада index.php файлын құрыңыз:
<?php

phpinfo();


Енді сол папкада серверді былай қоса аласыз:
shainek@shainek: /tmp/test$ php -S 127.0.0.1:8080
PHP 5.5.9-1ubuntu4.5 Development Server started at Tue Nov 18 05:45:48 2014
Listening on http://127.0.0.1:8080
Document root is /tmp/test
Press Ctrl-C to quit.


Енді браузерде localhost:8080 бетін ашыңыз:


Қандай тамаша, ешқандай бас ауру қажет емес, бір ғана команда және бізде сервер бар.

Енді -S кілтінің не істейтінін қарастырайық. Бұл кілт сервер қандай адресте қосылуын көрсетеді. Оған келесідей мәндерді көрсете аласыз:
localhost — серверге тек локальді машинадан қосыла аласыз,
0.0.0.0 — машинаның кез-келген интерфейсынан,
Кез-келген нақты ip — осы көрсетілген ip-де сервер қосылады, біз жоғарыда осыны пайдаландық.

"-t" кілті «directory root» папкасын көрсету үшін қажет. Яғни, біздің жобамыздың файлдары жататын папка. Мысалы:
[ec2-user@ip-10-229-67-156 ~]$ php -S <localhost or your public IP>:8090 -t /home/ec2-user/public


Енді осы тамаша құралды yii үшін қолданайық. Yii бастапқы бағдарламасын жүктеп аламыз. Архивті бір папкаға ашамыз, және сол папкаға өтіп серверді қосамыз. Былай ғой:
mkdir yii-base
tar xfz yii-basic-app-2.0.0.tgz -C yii-base/
php -S 127.0.0.1:8080 -t yii-base/basic/web/


Дайын, енді браузерде ашамыз:


Ааааа, не дейт. Қорықпаңыздар, бұл бізге yii ұрсып жатыр, кукилер үшін кілт көрсетпедің дейді. Оны көрсету үшін config/web.php файлын ашып, 'cookieValidationKey' мәнін орнатамыз, оған кез-келген мән бере салуға болады, продакшн болса, ұзын бір хеш генерация жасаған дұрыс. Ал біз, тез арады оны былай көрсете саламыз:
'cookieValidationKey' => 'qwerty',


Қайтадан ашамыз:


Тағы не дейт, а иа енді php mcrypt модулін орнатпағансың деп ұрсып жатыр, тез арада оны орната саламыз:
apt-get install php5-mcrypt
php5enmod mcrypt


Енді веб серверді өшіріп қайта қосу керек, өшіру үшін Ctrl-C басыңыз. Қайтадан көреміз:


Иееее, міні, yii бізді құттықтап жатыр. Болды енді yii-де жаза бересіз. Mysql-мен қосып көрген жоқпын, егер қиыншылық болса пікірде жазып қалдырамын.

  • +2
4 пікір
kamyrov
Рахмет! Мына әдіс мен үшін жаңалық болды)
raimbek
Кішігірім проектілерге жақсы екен, артық ештеңе орнатып жүрмейсің
vfvtnjd
+5, И-и-и-дің жалғасын күтіп жүрміз :-)
shainek
ертеңнен қалдырмаймын, бүгін жариялап қалуым да мүмкін
Тек тіркелген қолданушылар ғана пікір қалдыра алады.