Yii یک فریم ورک open-source برای زبان برنامه نویسی php با عملکرد بسیار عالی، منعطف، کارامد و مطمئن است که برای کاربرد های وب با سرعت پردازش بالا مورد استفاده قرار می گیرد.
این فریم ورک یک برنامه جامع و کامل برای کد نویسی ( object- Oriented ) می باشد. همچنین مشخصه های مورد تایید و کاربردی بسیاری را فراهم می کند.
این فریم ورک دارای تعدادی ابزار پیش فرض و کاربری می باشد که شمارا در نوشتن کد های بهینه و با امنیت بالا کمک می کند.
برخی از مشخصه های کلیدی Yii :
این فریم ورک شرایط فوق العاده ایی را فراهم می کند تا کاربر بتواند شخصی سازی های خود را انجام دهد و بتواند درست از هسته، کد ها را جایگزین کند. علاوه بر این کاربران می توانند پسوند های قابل توزیع را ارتقا و یا مورد استفاده قرار دهند.
Yii 2.0 نسخه فعلی فریم ورک است که مستلزم PHP 5.4.0 و یا بالاتر می باشد. اما با آخرین نسخه PHP7 بهترین عملکرد را دارد.
همچنین توانایی پشتیبانی از جدید ترین پروتکل ها و فناوری های دنیای وب از جمله namespaces , composer PSR را دارد.
با توجه به جامع بودن این فریم ورک، Yii می تواند تقریبا برای ارتقای هر نوع از کاربرد های وب از پرتال های کاربر / ادمین، فروم ها، سیستم های مدیریت محتوا ( CMS) گرفته تا پروژه های e-commerce ، RESTful Web services و همچنین بسیاری دیگر در مقیاس های بزرگ تر مورد استفاده قرار گیرد.
ملزومات
در این مقاله نحوه نصب فریم ورک PHP Yii روی سرور CentOS 8 را به شما آموزش خواهیم داد .
نصب Yii با استفاده از ( composer)
روش های بسیاری برای نصب Yii وجود دارد اما روش پیشنهادی برای نصب Yii استفاده از composer می باشد، چرا که این امکان را برای شما فراهم می کند تا بتوانید با یک دستور و فرمان مجزا Yii را آپدیت و به روزرسانی کنید همچنین می توانید سرویس های مورد نیاز جدید را نیز نصب کنید.
اگر هنوز روی سرور CentOS 8 نصب composer را انجام نداده اید، می توانید با استفاده از دستور های زیر این کار را انجام دهید :
curl -sS https://getcomposer.org/installer | php
# mv composer.phar /usr/local/bin/composer
# chmod +x /usr/local/bin/composer
با نصب composer می توانید برنامه yii را همراه با آپاچی یا انجین ایکس برای تست نرم افزار که ما در اینجا آن را testapp می نامیم نصب و راه اندازی نمایید.
# 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
بعد از اینکه مراحل نصب تکمیل شد، می توانید هم از وب سرور هایی که کانفیگ کرده بودید استفاده نمایید و هم از خود yii سرور برای راه اندازی برنامه استفاده نایید.
# cd testapp
# php yii serve
توجه: طبق پیش فرض سرور HTTP پُرت ۸۰۸۰ را اعمال می کند. با این حال اگر پُرت در حال حاضر در حال استفاده است، می توانید با اضافه کردن –port همانطور که نشان داده شده است، از پُرت دیگری استفاده کنید.
# php yii serve --port=8888
حالا مرورگر خود را باز کرده و آدرس URL زیر را وارد کنید تا به برنامه Yii دست پیدا کنید.
http://localhost:8888
پیکر بندی وب سرور های برای YII
در ساخت سرور، ممکن است بخواهید وب سرور را به برنامه Yii پیکربندی کنید. این کار را با استفاده از URL، http://www.example.com/index.php به جای http://www.example.com/basic/testapp/index.php انجام دهید.
در اینجا باید ریشه اطلاعات وب سرور را به دایرِکتوری testapp/web ارجاع دهید.
پیکربندی پیشنهادی Nginx
یک فایل پیکربندی با نام /etc/nginx/conf.d/testapp.conf ایجاد کنید.
# vi /etc/nginx/conf.d/testapp.conf
سپس دستورات زیر را داخل آن کپی کنید.
فراموش نکنید toshanapp.lan را با نام دامنه تان و /usr/share/nginx/html/testapp/web همراه با جایی که فایل های برنامه شما قرار دارد، جایگزین کنید.
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 toshanapp.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;
}
}
فایل را ذخیره کرده و Nginx را restart کنید تا آخرین تغییرات اعمال شوند.
# systemctl restart nginx
پیکربندی پیشنهادی Apache
پیکربندی زیر را در فایل httpd.conf قرار دهید.
# 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>
فایل را ذخیره کرده و Apache را restart کنید تا آخرین تغییرات اعمال شوند.
# systemctl restart httpd
آزمایش برنامه Yii به وسیله مرورگر
قبل از آزمایش برنامه وب Yii از محتوای امنیتی دایرِکتوری /web/assets/ اطمینان حاصل کنید. تا با اعمال دستورات زیر، پردازش وب قابلیت کد نویسی را داشته باشد.
# 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]
سپس قوانین فایروال خود را به روزرسانی کنید تا به درخواست های HTTPS و HTTP اجازه دهد از طریق فایروال به سرور Nginx دست پیدا کنند.
# firewall-cmd --zone=public --add-service=http --permanent
# firewall-cmd --zone=public --add-service=https --permanent
# firewall-cmd --reload
در آخر بررسی کنید که آیا برنامه وب تحت پشتیبانی Nginx یا Apache به خوبی کار می کند یا خیر. مرورگر را باز کرده سپس به آدرس زیر بروید:
http://toshanapp.lan
صفحه پیش فرض برنامه Yii باید تصویر زیر را نشان دهد.
تبریک می گوییم! شما موفق به نصب آخرین نسخه Yii PHP framework شدید و توانستید با Nginx یا Apache روی سرور CentOS 8 پیکربندی را انجام دهید.
در نظر داشته باشید که توشن آماده ارائه پروژه های اختصاصی شما بر پایه فریم ورک Yii می باشد و همچنین در صورت درخواست کانفیگ سرورتان برای این فریم ورک به واحد پشتیبانی توشن تیکت ارسال نمایید.
لطفا پیش از ارسال دیدگاه، چند مورد زیر را مطالعه نمایید:
- دیدگاه خود را به زبان فارسی ارسال نمایید.
- به دیدگاه کاربران دیگر احترام بگذارید، پیامهایی که شامل محتوای توهینآمیز و کلمات نامناسب باشند، تایید نخواهند شد.
- از ارسال لینک سایت های شخصی و ارائه اطلاعات شخصی در متن دیدگاه پرهیز فرمایید.
- موارد مرتبط با بخش پشتیبانی را از طریق
مرکز پشتیبانی
مطرح فرمایید تا در اسرع وقت بررسی شوند.
دیدگاهتان را بنویسید