Otu esi wụnye Yii PHP Framework na CentOS 8
Yii bụ isi mmalite mepere emepe, arụmọrụ dị elu, na-agbanwe agbanwe, dị mma yana nchekwa PHP maka iwulite ngwa Weebụ ọgbara ọhụrụ. Ọ bụ usoro mmemme weebụ zuru oke na nke zuru oke maka ide koodu n'ụdị dabere na ihe ma na-enye ọtụtụ njirimara egosipụtara na njikere iji. Ọ na-abịa na ọtụtụ ndabara ezi uche dị na ya yana ngwaọrụ arụnyere na-enyere gị aka ide koodu siri ike na echekwara.
Nke a bụ ụfọdụ njiri mara Yii:
- Oghere dị ọcha dabere na OOP.
- Ihe owuwu nke dabere na akụrụngwa.
- Na-emejuputa ụkpụrụ ụlọ MVC (Model-View-Controller).
- Na-akwado ndị na-ewu ajụjụ na ActiveRecord maka ma ọdụ data nke mmekọrịta yana NoSQL.
- Nkwado caching ọtụtụ ọkwa.
- Nkwado mmepe API zuru oke.
- Ọ bụ ihe a na-apụghị ịgbagha agbagha na-enye ndị ọrụ ohere ịhazi ma ọ bụ dochie ibe koodu ọ bụla site na isi. E wezụga nke ahụ, ndị ọrụ nwere ike iji ma ọ bụ mepụta ndọtị enwere ike kesaa.
Yii 2.0 bụ ọgbọ ugbu a nke framework (n'oge ederede) nke chọrọ PHP 5.4.0 ma ọ bụ n'elu ma na-agba ọsọ kacha mma na ọhụrụ version nke PHP 7. Ọ na-akwado ụfọdụ nke ọhụrụ Web teknụzụ na protocols, gụnyere Composer, PSR. , oghere aha, àgwà, na ndị ọzọ.
N'ịbụ usoro mmepe webụ ọnụọgụgụ yana yana njirimara ya dị ịrịba ama, enwere ike iji Yii mepụta ihe fọrọ nke nta ka ọ bụrụ ụdị ngwa Weebụ ọ bụla sitere na ọnụ ụzọ onye ọrụ/admin, forums, njikwa ọdịnaya (CMS), na ọrụ e-azụmahịa, ọrụ Weebụ RESTful, na ọtụtụ ihe ndị ọzọ na nnukwu ọnụ ọgụgụ.
- Ihe atụ nke sava CentOS 8.
- Okpokoro LEMP nwere PHP 5.4.0 ma ọ bụ karịa.
- Onye dere – onye njikwa ngwugwu ọkwa ngwa maka PHP.
N'isiokwu a, anyị ga-egosi gị otu esi etinye usoro Yii PHP na sava CentOS 8 iji malite ịmepụta ngwa PHP site na iji Yii.
Ịwụnye Yii Iji Onye na-ede ihe
Enwere ụzọ dị iche iche isi wụnye Yii, mana ụzọ akwadoro isi wụnye Yii bụ iji njikwa ngwugwu Composer, ebe ọ na-enye gị ohere iji otu iwu melite Yii ma na-enye gị ohere ịwụnye mgbakwunye ọhụrụ.
Ọ bụrụ na i nwebeghị onye dere ihe arụnyere na sava CentOS 8 gị, ị nwere ike iwunye ya site na iji iwu ndị a.
# curl -sS https://getcomposer.org/installer | php # mv composer.phar /usr/local/bin/composer # chmod +x /usr/local/bin/composer
Site na arụnyere onye na-ede ihe, ị nwere ike ịwụnye ụdị ngwa ngwa Yii kwụsiri ike kachasị ọhụrụ n'okpuru ndekọ Apache ma ọ bụ Weebụ Nginx a na-akpọ testapp
. Ị nwere ike họrọ aha ndekọ aha dị iche ma ịchọrọ.
# 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
Mgbe echichi mechara, ma hazie sava weebụ gị (lee ngalaba na-esote) ma ọ bụ jiri sava weebụ agbakwunyere na PHP site na ịme iwu na-esonụ na testapp
akwụkwọ ndekọ mgbọrọgwụ.
# cd testapp # php yii serve
Rịba ama: Site na ndabara, HTTP-server ga-ege ntị na ọdụ ụgbọ mmiri 8080. Otú ọ dị, ọ bụrụ na ọdụ ụgbọ mmiri ahụ adịlarị, ị nwere ike iji ọdụ ụgbọ mmiri dị iche iche site na ịgbakwunye --port
arụmụka dị ka egosiri.
# php yii serve --port=8888
Ugbu a, mepee ihe nchọgharị gị wee pịnye URL ndị a ka ịnweta ngwa Yii arụnyere.
http://localhost:8888
Na-ahazi sava webụ maka Yii
Na ihe nkesa na-emepụta ihe, ịnwere ike ịhazi sava weebụ gị ka ọ na-eje ozi ngwa weebụ Yii site na URL http://www.example.com/index.php
kama http:// www.example.com/basic/testapp/index.php
. N'ọnọdụ ahụ, ị ga-atụrịrị mgbọrọgwụ akwụkwọ sava weebụ gị na ndekọ ndekọ testapp/web
.
Mepụta faịlụ nhazi a na-akpọ /etc/nginx/conf.d/testapp.conf.
# vi /etc/nginx/conf.d/testapp.conf
Na-esote, detuo na mado nhazi ndị a na ya. Cheta iji aha ngalaba gị dochie tecmintapp.lan
yana /usr/share/nginx/html/testapp/web
n'ụzọ ebe faịlụ ngwa gị dị.
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; } }
Chekwaa faịlụ ma malitegharịa Nginx ka ime mgbanwe ndị na-adịbeghị anya.
# systemctl restart nginx
Jiri nhazi ndị a na faịlụ Apache's httpd.conf ma ọ bụ n'ime nhazi nhazi nke ọma.
# 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>
Chekwaa faịlụ ahụ wee malitegharịa Apache iji mee mgbanwe ndị na-adịbeghị anya.
# systemctl restart httpd
Na-anwale ngwa Weebụ Yii Site na ihe nchọgharị
Tupu ịnwale ngwa webụ Yii anyị hụ na imelite ọnọdụ nchekwa nke ndekọ /web/assets/
iji mee ka ọ bụrụ ederede na usoro webụ, site na ịme iwu na-esonụ.
# 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]
Na-esote, melite iwu firewalld gị iji kwe ka arịrịọ HTTP na HTTPS site na firewall gaa na sava Nginx.
# firewall-cmd --zone=public --add-service=http --permanent # firewall-cmd --zone=public --add-service=https --permanent # firewall-cmd --reload
N'ikpeazụ, nwalee ma ngwa weebụ gị na-arụ ọrụ nke ọma ma Nginx ma ọ bụ Apache na-enye ya. Mepee ihe nchọgharị weebụ wee tụọ aka na adreesị a:
http://tecmintapp.lan
Ibe weebụ ngwa Yii nke ndabara kwesịrị igosipụta dị ka egosiri na nseta ihuenyo na-esonụ.
Ekele! Ị tinyela ọgbọ ọhụrụ nke usoro Yii PHP nke ọma wee hazie ya ka ọ rụọ ọrụ na Nginx ma ọ bụ Apache na CentOS 8.
Maka ozi ndị ọzọ yana otu esi ebido iji Yii maka iwulite ngwa webụ gị, hụ ntuziaka doro anya Yii.