Sujet
- #Configuration de l'environnement de développement
- #Codeigniter 4
- #Installation d'extensions php
- #Écran d'initialisation de CI4
- #Apache2
Création: 2024-03-27
Création: 2024-03-27 19:47
CodeIgniter 4.
Au sein de l'entreprise, j'ai eu l'opportunité de travailler sur un nouveau projet. Après mon embauche, les pages web existantes étaient développées avec CodeIgniter 3. Par curiosité et avec un certain enthousiasme, j'ai décidé d'utiliser CodeIgniter 4 pour ce nouveau projet.
La première étape consiste à configurer le serveur de développement. Ce document a été créé pour consigner les difficultés rencontrées (et les solutions trouvées) lors de l'installation de CodeIgniter 4 sur le serveur de développement.
Le système d'exploitation du serveur de développement est Ubuntu 20.04.2.
Apache2 et PHP 7 étant déjà installés, je télécharge les fichiers du framework CodeIgniter 4 (ci-après CI4).
En accédant à l'URL ci-dessus et en cliquant sur "CI4 Download", vous pouvez télécharger les fichiers du framework. Il est spécifié que la version PHP 7.3 ou supérieure est requise.
Après avoir décompressé l'archive, vous pouvez voir les fichiers affichés à l'écran. La version de CI que j'ai utilisée pour les tests est la 4.1.3.
Maintenant, téléversons les fichiers du projet sur Apache2.
Pour les tests, j'ai renommé le projet en "ci4" avant de le téléverser. Après le téléversement, pour vérifier son bon fonctionnement, j'accède à l'adresse localhost (ou l'adresse du serveur) /public/index.php.
Dès la connexion, une page d'erreur s'affiche.
En réalité, c'est là que les difficultés ont commencé. Dans mon cas, l'erreur était due à des problèmes de droits d'accès aux dossiers et à l'absence de certaines extensions PHP. Commençons par modifier les droits d'accès du dossier /writable dans les fichiers du projet.
sudo chmod -R 777 writable
Deuxièmement, il faut installer les extensions PHP nécessaires. Les extensions obligatoires sont curl, intl, mbstring et xml, soit 4 au total. Sur un serveur déjà en production, elles peuvent être déjà installées, mais comme j'ai configuré un nouveau serveur, je dois les installer une par une.
sudo apt-get install php-curl
sudo apt-get install php-intl
sudo apt-get install php-mbstring
sudo apt-get install php-xml
Exécutez ces commandes une par une pour installer les extensions nécessaires.
Enfin, il faut supprimer les commentaires des lignes correspondant aux extensions curl et intl dans le fichier php.ini.
sudo nano /etc/php/7.4/apache2/php.ini
L'emplacement du fichier php.ini peut varier selon la configuration du serveur. La commande ci-dessus permet d'ouvrir le fichier php.ini en mode édition.
;extension=bz2
extension=curl
;extension=ffi
;extension=ftp
;extension=fileinfo
;extension=gd2
;extension=gettext
;extension=gmp
extension=intl
;extension=imap
;extension=ldap
;extension=mbstring
;extension=exif ; Must be after mbstring as it depends on it
;extension=mysqli
;extension=oci8_12c ; Use with Oracle Database 12c Instant Client
;extension=odbc
;extension=openssl
;extension=pdo_firebird
;extension=pdo_mysql
En parcourant le fichier php.ini, vous trouverez les lignes mentionnées ci-dessus. Supprimez le caractère " ; " devant les lignes "curl" et "intl", puis enregistrez et quittez le fichier en appuyant sur Ctrl + x.
Une fois toutes les modifications effectuées, redémarrez Apache.
sudo service apache2 restart
En accédant à nouveau à l'URL mentionnée précédemment, vous devriez voir l'écran d'accueil initial de CI4, signifiant que tout fonctionne correctement.
En réalité, une fois que l'on a tout écrit et organisé, cela semble simple. Cependant, lors de la configuration initiale du serveur de développement, j'ai passé beaucoup de temps à chercher des informations sur Google et à résoudre les problèmes rencontrés.
Étant principalement concentré sur la gestion des serveurs de production (SM), je n'avais pas eu beaucoup d'occasions de configurer directement un serveur de développement. En le faisant, j'ai réalisé que c'était une expérience enrichissante, même si elle était difficile, et que j'avais appris beaucoup de choses.
Commentaires0