Hvernig á að setja upp Yii PHP Framework á CentOS 8
Yii er opinn uppspretta, afkastamikil, sveigjanleg, skilvirk og örugg PHP ramma til að byggja upp nútíma vefforrit hratt. Það er almennur og fullur stafla vefforritunarrammi til að skrifa kóða á hlutbundinn hátt og býður upp á marga sannaða og tilbúna eiginleika. Það kemur með fjölda sanngjarnra sjálfgefna og innbyggðra verkfæra sem hjálpa þér að skrifa traustan og öruggan kóða.
Hér eru nokkrir af helstu eiginleikum Yii:
- Hreint OOP-undirstaða ramma.
- Hlutabyggður arkitektúr.
- Innleiðir MVC (Model-View-Controller) byggingarmynstrið.
- Styður fyrirspurnasmíðar og ActiveRecord fyrir bæði vensla- og NoSQL gagnagrunna.
- Stuðningur við margþætta skyndiminni.
- RESTful API þróunarstuðningur.
- Það er afar stækkanlegt og gerir notendum kleift að sérsníða eða skipta út hvaða kóða sem er beint frá kjarnanum. Að auki geta notendur notað eða þróað endurdreifanlegar viðbætur.
Yii 2.0 er núverandi kynslóð rammans (þegar þetta er skrifað) sem krefst PHP 5.4.0 eða nýrri en keyrir best með nýjustu útgáfu PHP 7. Það styður suma af nýjustu veftækni og samskiptareglum, þar á meðal Composer, PSR , nafnarými, eiginleikar og fleira.
Þar sem Yii er almennur vefþróunarrammi í tengslum við mikilvæga eiginleika þess, er hægt að nota Yii til að þróa næstum hvers kyns vefforrit, allt frá notenda-/stjórnendagáttum, spjallborðum, vefumsjónarkerfum (CMS), til rafrænna viðskiptaverkefna, RESTful vefþjónustu, og margt fleira í stórum stíl.
- Kynjandi dæmi af CentOS 8 þjóninum.
- LEMP stafla með PHP 5.4.0 eða nýrri.
- Tónskáld – pakkastjóri á forritastigi fyrir PHP.
Í þessari grein munum við sýna þér hvernig á að setja upp Yii PHP ramma á CentOS 8 netþjóni til að byrja að þróa PHP forrit með Yii.
Uppsetning Yii með því að nota Composer
Það eru nokkrar leiðir til að setja upp Yii, en ráðlögð leið til að setja upp Yii er að nota Composer pakkastjóra, þar sem það gerir þér kleift að uppfæra Yii með einni skipun og gerir þér einnig kleift að setja upp nýjar viðbætur.
Ef þú ert ekki þegar með Composer uppsett á CentOS 8 þjóninum þínum geturðu sett það upp með því að keyra eftirfarandi skipanir.
# curl -sS https://getcomposer.org/installer | php # mv composer.phar /usr/local/bin/composer # chmod +x /usr/local/bin/composer
Með Composer uppsett, geturðu sett upp nýjustu stöðugu útgáfuna af Yii forritasniðmáti undir Apache eða Nginx vefaðgengilegri möppu sem heitir testapp
. Þú getur valið annað nafn möppu ef þú vilt.
# cd /var/www/html/ [Apache Root Directory] OR # cd /usr/share/nginx/html/ [Nginx Root Directory] # composer create-project --prefer-dist yiisoft/yii2-app-basic testapp
Eftir að uppsetningu er lokið skaltu annaðhvort stilla vefþjóninn þinn (sjá næsta kafla) eða nota samþætta PHP vefþjóninn með því að framkvæma eftirfarandi skipun í testapp
rótarskrá verkefnisins.
# cd testapp # php yii serve
Athugið: Sjálfgefið er að HTTP-þjónninn hlustar á gátt 8080. Hins vegar, ef sú höfn er þegar í notkun, geturðu notað aðra höfn með því að bæta --port
við rökstuðningnum eins og sýnt er.
# php yii serve --port=8888
Nú skaltu opna vafrann þinn og slá inn eftirfarandi vefslóð til að fá aðgang að uppsettu Yii forritinu.
http://localhost:8888
Stilla vefþjóna fyrir Yii
Á framleiðsluþjóni gætirðu viljað stilla vefþjóninn þinn til að þjóna Yii vefforritinu með slóðinni http://www.example.com/index.php
í stað http:// www.example.com/basic/testapp/index.php
. Í því tilviki verður þú að vísa rót vefþjónsskjalsins á testapp/web
skrána.
Búðu til stillingarskrá sem heitir /etc/nginx/conf.d/testapp.conf.
# vi /etc/nginx/conf.d/testapp.conf
Næst skaltu afrita og líma eftirfarandi uppsetningu í það. Mundu að skipta út tecmintapp.lan
fyrir lénið þitt og /usr/share/nginx/html/testapp/web
fyrir slóðina þar sem forritaskrárnar þínar eru staðsettar.
server { charset utf-8; client_max_body_size 128M; listen 80; ## listen for ipv4 #listen [::]:80 default_server ipv6only=on; ## listen for ipv6 server_name tecmintapp.lan; root /usr/share/nginx/html/testapp/web; index index.php; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; location / { # Redirect everything that isn't a real file to index.php try_files $uri $uri/ /index.php$is_args$args; } # uncomment to avoid processing of calls to non-existing static files by Yii #location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ { # try_files $uri =404; #} #error_page 404 /404.html; # deny accessing php files for the /assets directory location ~ ^/assets/.*\.php$ { deny all; } location ~ \.php$ { include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; #fastcgi_pass 127.0.0.1:9000; fastcgi_pass unix:/run/php-fpm/www.sock; try_files $uri =404; } location ~* /\. { deny all; } }
Vistaðu skrána og endurræstu Nginx til að framkvæma nýlegar breytingar.
# systemctl restart nginx
Notaðu eftirfarandi stillingar í httpd.conf skrá Apache eða innan sýndarhýsilstillingar.
# Set document root to be "testapp/web" DocumentRoot "/var/www/html/testapp/web" <Directory "/var/www/html/testapp/web"> # use mod_rewrite for pretty URL support RewriteEngine on # if $showScriptName is false in UrlManager, do not allow accessing URLs with script name RewriteRule ^index.php/ - [L,R=404] # If a directory or a file exists, use the request directly RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d # Otherwise forward the request to index.php RewriteRule . index.php # ...other settings... </Directory>
Vistaðu skrána og endurræstu Apache til að framkvæma nýlegar breytingar.
# systemctl restart httpd
Að prófa Yii vefforrit í vafra
Áður en Yii vefforritið okkar er prófað, vertu viss um að uppfæra öryggissamhengi /web/assets/
möppunnar til að gera það skrifanlegt í vefferlið með því að keyra eftirfarandi skipun.
# chcon -R -t httpd_sys_content_rw_t '/usr/share/nginx/html/testapp/web/assets/' [for Nginx] # chcon -R -t httpd_sys_content_rw_t '/var/www/html/testapp/web/assets/' [for Apache]
Næst skaltu uppfæra eldveggsreglurnar þínar til að leyfa HTTP og HTTPS beiðnir í gegnum eldvegginn til Nginx netþjónsins.
# firewall-cmd --zone=public --add-service=http --permanent # firewall-cmd --zone=public --add-service=https --permanent # firewall-cmd --reload
Að lokum, prófaðu hvort vefforritið þitt virkar vel og er þjónað af Nginx eða Apache. Opnaðu vafra og beindu honum á eftirfarandi heimilisfang:
http://tecmintapp.lan
Sjálfgefin vefsíða Yii forritsins ætti að birtast eins og sýnt er á eftirfarandi skjámynd.
Til hamingju! Þú hefur sett upp nýjustu kynslóð Yii PHP ramma og stillt hana til að vinna með Nginx eða Apache á CentOS 8.
Fyrir frekari upplýsingar og hvernig á að byrja að nota Yii til að byggja upp vefforritið þitt, sjá Yii endanlega handbók.