Yii est un framework PHP open-source, performant, flexible, efficace et sécurisé permettant de créer rapidement des applications Web modernes. Il s’agit d’un cadre de programmation Web générique et complet pour écrire du code de manière orientée objet et fournit de nombreuses fonctionnalités éprouvées et prêtes à l’emploi. Il est livré avec un certain nombre de valeurs par défaut raisonnables et d’outils intégrés qui vous aident à écrire du code solide et sécurisé.
Caractéristiques de Yii
Voici quelques-unes des fonctionnalités clés de Yii :
- Un cadre purement basé sur la POO.
- Une architecture à base de composants.
- Implémente le modèle architectural MVC (Modèle-Vue-Contrôleur).
- Prend en charge les générateurs de requêtes et ActiveRecord pour les bases de données relationnelles et NoSQL.
- Prise en charge de la mise en cache à plusieurs niveaux.
- Prise en charge du développement d’API RESTful.
- Il est extrêmement extensible permettant aux utilisateurs de personnaliser ou de remplacer n’importe quel morceau de code directement depuis le noyau. En outre, les utilisateurs peuvent utiliser ou développer des extensions redistribuables.
Yii 2.0 est la génération actuelle du framework (au moment de la rédaction) qui nécessite PHP 5.4.0 ou supérieur, mais fonctionne mieux avec la dernière version de PHP 8. Il prend en charge certaines des dernières technologies et protocoles Web, notamment Composer, PSR, les espaces de noms, les traits et autres.
Étant un framework de développement Web générique en conjonction avec ses fonctionnalités importantes, Yii peut être utilisé pour développer presque tous les types d’applications Web, des portails utilisateur/administrateur, des forums et des systèmes de gestion de contenu (CMS), aux projets de commerce électronique, aux services Web RESTful et bien plus encore à grande échelle.
Exigences
Dans cet article, nous allons vous montrer comment installer le Cadre PHP Yii sur une distribution basée sur RHEL pour commencer à développer des applications PHP en utilisant Yii.
Installer la pile LAMP ou LEMP
Yii nécessite PHP 5.4 ou supérieur avec un serveur Web Apache ou Nginx installé sur le serveur, comme indiqué.
--------- Install LAMP Stack --------- # yum install httpd php php-mysqlnd php-pdo php-gd php-mbstring zip git --------- Install LEMP Stack --------- # yum install nginx php php-mysqlnd php-pdo php-gd php-mbstring zip git
Une fois installé, vous pouvez démarrer et activer le serveur Web Apache ou Nginx.
# systemctl start httpd # systemctl enable httpd OR # systemctl start nginx # systemctl enable nginx
Installer Yii à l’aide de Composer
Il existe plusieurs façons d’installer Yiimais la méthode d’installation recommandée Yii utilise Compositeur gestionnaire de paquets, car il vous permet de mettre à jour Yii avec une seule commande et vous permet également d’installer de nouvelles extensions.
Si vous n’avez pas déjà Compositeur installé sur votre serveur, vous pouvez l’installer en exécutant les commandes suivantes.
# curl -sS https://getcomposer.org/installer | php # mv composer.phar /usr/local/bin/composer # chmod +x /usr/local/bin/composer
Avec Compositeur installé, vous pouvez installer la dernière version stable du Yii modèle de demande sous un apache ou Nginx Répertoire accessible sur le Web appelé testapp
. Vous pouvez sélectionner un nom de répertoire différent si vous le souhaitez.
# 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
Une fois l’installation terminée, configurez votre serveur Web (voir la section suivante) ou utilisez le serveur Web PHP intégré en exécutant la commande suivante dans le testapp
répertoire racine du projet.
# cd testapp # php yii serve
Note: Par défaut, le serveur HTTP écoutera le port 8080. Cependant, si ce port est déjà utilisé, vous pouvez utiliser un port différent en ajoutant --port
l’argument comme indiqué.
# php yii serve --port=8888
Maintenant, ouvrez votre navigateur et tapez l’URL suivante pour accéder au Yii application.
http://localhost:8888
Configuration des serveurs Web pour Yii
Sur un serveur de production, vous souhaiterez peut-être configurer votre serveur Web pour servir le Yii application web via l’URL http://www.example.com/index.php
au lieu de http://www.example.com/basic/testapp/index.php
. Dans ce cas, vous devez faire pointer la racine du document de votre serveur Web vers le testapp/web
annuaire.
Configuration Nginx recommandée
Créez un fichier de configuration appelé /etc/nginx/conf.d/testapp.conf.
# vi /etc/nginx/conf.d/testapp.conf
Ensuite, copiez et collez-y la configuration suivante. N’oubliez pas de remplacer tecmintapp.lan
avec votre nom de domaine et /usr/share/nginx/html/testapp/web
avec le chemin où se trouvent vos fichiers d’application.
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; } }
Enregistrez le fichier et redémarrez le Nginx pour effectuer les changements récents.
# systemctl restart nginx
Configuration Apache recommandée
Utilisez la configuration suivante dans Apache httpd.conf fichier ou dans une configuration d’hôte virtuel.
# 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>
Enregistrez le fichier et redémarrez le apache pour effectuer les changements récents.
# systemctl restart httpd
Avant de tester notre Yii application Web assurez-vous de mettre à jour le contexte de sécurité de /web/assets/
répertoire pour le rendre accessible en écriture au processus Web, en exécutant la commande suivante.
# 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]
Ensuite, mettez à jour votre pare-feu règles pour autoriser HTTP et HTTPS requêtes via le pare-feu au serveur Nginx.
# firewall-cmd --zone=public --add-service=http --permanent # firewall-cmd --zone=public --add-service=https --permanent # firewall-cmd --reload
Enfin, testez si votre application Web fonctionne correctement et est desservie par Nginx ou apache. Ouvrez un navigateur Web et pointez-le vers l’adresse suivante :
http://tecmintapp.lan
La page Web par défaut de l’application Yii devrait s’afficher comme indiqué dans la capture d’écran suivante.
Toutes nos félicitations! Vous avez installé avec succès la dernière génération du Cadre PHP Yii et configuré pour fonctionner avec Nginx ou apache sur RHEL systèmes.
Pour plus d’informations et comment commencer à utiliser Yii pour créer votre application Web, consultez le Guide définitif Yii.
Si vous appréciez ce que nous faisons ici sur TecMint, vous devriez considérer :
TecMint est le site communautaire à la croissance la plus rapide et le plus fiable pour tout type d’articles, de guides et de livres Linux sur le Web. Des millions de personnes visitent TecMint ! pour rechercher ou parcourir les milliers d’articles publiés accessibles GRATUITEMENT à tous.
Si vous aimez ce que vous lisez, pensez à nous acheter un café (ou 2) en signe d’appréciation.
Nous sommes reconnaissants pour votre soutien sans fin.