{"id":76773,"date":"2024-04-16T15:43:26","date_gmt":"2024-04-16T14:43:26","guid":{"rendered":"https:\/\/kinqsta.com\/fr\/?p=76773&#038;preview=true&#038;preview_id=76773"},"modified":"2024-04-19T09:29:45","modified_gmt":"2024-04-19T08:29:45","slug":"installer-dependances-php-docker","status":"publish","type":"post","link":"https:\/\/kinqsta.com\/fr\/blog\/installer-dependances-php-docker\/","title":{"rendered":"Comment installer les d\u00e9pendances et extensions PHP avec Docker"},"content":{"rendered":"<p><a href=\"https:\/\/kinqsta.com\/fr\/blog\/qu-est-ce-que-docker\/\">Docker<\/a> est une plateforme <a href=\"https:\/\/kinqsta.com\/fr\/blog\/logiciels-open-source-vs-proprietaire\/\">open-source<\/a> populaire pour le d\u00e9veloppement, l&rsquo;exp\u00e9dition et l&rsquo;ex\u00e9cution d&rsquo;applications. Elle encapsule les applications et leurs d\u00e9pendances dans des conteneurs afin de favoriser la coh\u00e9rence entre les diff\u00e9rents environnements. Cette coh\u00e9rence permet d&rsquo;\u00e9viter les probl\u00e8mes li\u00e9s aux conflits de d\u00e9pendances et aux divergences \u00ab \u00e7a marche sur ma machine \u00bb.<\/p>\n<p>Avec Docker, vous pouvez d\u00e9finir les d\u00e9pendances et les extensions n\u00e9cessaires \u00e0 l&rsquo;aide de <a href=\"https:\/\/kinqsta.com\/fr\/blog\/dockerfile-entrypoint\/\">Dockerfiles<\/a>. Cela signifie que vos applications disposent de toutes les biblioth\u00e8ques et de tous les outils n\u00e9cessaires dans un environnement reproductible et isol\u00e9.<\/p>\n<p>L&rsquo;<a href=\"https:\/\/sevalla.com\/application-hosting\/\">h\u00e9bergement d&rsquo;application de Kinsta<\/a> offre un support dynamique pour les <a href=\"https:\/\/docs.sevalla.com\/applications\/build-options\/dockerfile\">Dockerfiles<\/a> personnalis\u00e9s, ce qui vous permet de mieux contr\u00f4ler l&rsquo;environnement de votre application. Avec un Dockerfile, vous pouvez utiliser presque n&rsquo;importe quel langage &#8211; vous n&rsquo;\u00eates pas limit\u00e9 aux langages pris en charge par les <a href=\"https:\/\/docs.sevalla.com\/applications\/build-options\/nixpacks\">Nixpacks<\/a> ou <a href=\"https:\/\/docs.sevalla.com\/applications\/build-options\/buildpacks\">Buildpacks<\/a>.<\/p>\n<p>Cet article pratique vous explique comment installer et utiliser les d\u00e9pendances et extensions <a href=\"https:\/\/kinqsta.com\/fr\/blog\/qu-est-ce-que-php\/\">PHP<\/a> dans Docker.<\/p>\n<div><\/div><kinsta-auto-toc heading=\"Table of Contents\" exclude=\"last\" list-style=\"arrow\" selector=\"h2\" count-number=\"-1\"><\/kinsta-auto-toc>\n<h2>Pourquoi utiliser Docker pour installer des d\u00e9pendances ?<\/h2>\n<p>Utiliser Docker pour installer des d\u00e9pendances a plusieurs avantages :<\/p>\n<ul>\n<li><strong>Coh\u00e9rence de l&rsquo;environnement<\/strong> &#8211; Docker vous permet de regrouper votre application, ses d\u00e9pendances et ses configurations dans un conteneur. Cette approche garantit que l&rsquo;environnement dans lequel votre application s&rsquo;ex\u00e9cute reste coh\u00e9rent entre les diff\u00e9rentes configurations et les diff\u00e9rents syst\u00e8mes, y compris les environnements de d\u00e9veloppement, de staging et de production.<\/li>\n<li><strong>Facilit\u00e9 de configuration et de r\u00e9solution des d\u00e9pendances<\/strong> &#8211; Docker vous permet de configurer l&rsquo;environnement de votre application sur n&rsquo;importe quelle machine qui la prend en charge en sp\u00e9cifiant toutes les d\u00e9pendances et configurations n\u00e9cessaires. Vous \u00e9vitez ainsi les probl\u00e8mes de compatibilit\u00e9 et les difficult\u00e9s li\u00e9es \u00e0 l&rsquo;installation manuelle des d\u00e9pendances.<\/li>\n<li><strong>Contr\u00f4le de version et isolation<\/strong> &#8211; Les conteneurs Docker encapsulent toutes les d\u00e9pendances, y compris leurs versions sp\u00e9cifiques, dans le conteneur. Cela signifie que vous pouvez contr\u00f4ler la version de votre application et de ses d\u00e9pendances, ce qui favorise la reproductibilit\u00e9 et \u00e9limine les conflits entre les diff\u00e9rentes versions des d\u00e9pendances.<\/li>\n<\/ul>\n<p>En outre, les conteneurs Docker permettent l&rsquo;isolation, ce qui aide \u00e0 \u00e9liminer les conflits entre les d\u00e9pendances de diff\u00e9rentes applications fonctionnant sur le m\u00eame syst\u00e8me.<\/p>\n<h2>Configurer votre application sur Kinsta<\/h2>\n<p>La configuration de votre application sur Kinsta est simple. Visitez MyKinsta et suivez la <a href=\"https:\/\/kinqsta.com\/fr\/inscription\/\" target=\"_blank\" rel=\"noopener noreferrer\">proc\u00e9dure d&rsquo;inscription<\/a>. Une fois inscrit, vous pouvez acc\u00e9der \u00e0 un puissant tableau de bord d&rsquo;h\u00e9bergement et \u00e0 une s\u00e9rie de fonctionnalit\u00e9s con\u00e7ues pour optimiser les performances et la s\u00e9curit\u00e9.<\/p>\n<p>L&rsquo;h\u00e9bergement d&rsquo;applications de Kinsta <a href=\"https:\/\/docs.sevalla.com\/applications\/overviewapplication-getting-started#main\">prend en charge une s\u00e9rie de langages de programmation<\/a>, notamment PHP, Python, Node.js et Ruby. Cette prise en charge \u00e9tendue des langages garantit la compatibilit\u00e9 avec diverses applications, ce qui vous permet de choisir le langage qui r\u00e9pond le mieux aux exigences de votre projet.<\/p>\n<p>Par exemple, si vous d\u00e9veloppez une application web dynamique avec PHP, l&rsquo;environnement d&rsquo;h\u00e9bergement optimis\u00e9 de Kinsta garantit des performances et une fiabilit\u00e9 \u00e9lev\u00e9es pour vos projets bas\u00e9s sur PHP. Ou si vous construisez une API RESTful avec <a href=\"https:\/\/kinqsta.com\/fr\/blog\/qu-est-ce-que-node-js\/\">Node.js<\/a> ou une application web ax\u00e9e sur les donn\u00e9es avec Python, Kinsta fournit l&rsquo;infrastructure et le support n\u00e9cessaires \u00e0 votre application.<\/p>\n<p>Pour d\u00e9couvrir comment d\u00e9ployer une application \u00e0 l&rsquo;aide d&rsquo;un fichier Docker sur Kinsta, utilisez cette application, un syst\u00e8me d&rsquo;authentification basique bas\u00e9 sur PHP qui utilise MariaDB pour stocker les donn\u00e9es. Cette application exploite \u00e9galement quelques paquets Composer, notamment <a href=\"https:\/\/github.com\/Respect\/Validation\" target=\"_blank\" rel=\"noopener noreferrer\">respect\/validation<\/a> pour la validation des entr\u00e9es et <a href=\"https:\/\/github.com\/ircmaxell\/password_compat\" target=\"_blank\" rel=\"noopener noreferrer\">ircmaxell\/password-compat<\/a> pour le hachage des mots de passe.<\/p>\n<h2>Pr\u00e9parer votre environnement Docker<\/h2>\n<p>Un fichier Docker est un fichier texte contenant toutes les commandes, class\u00e9es dans l&rsquo;ordre n\u00e9cessaire, dont vous avez besoin pour construire l&rsquo;image n\u00e9cessaire. Un fichier Docker de base pour une application PHP ressemblerait \u00e0 ceci :<\/p>\n<pre><code class=\"language-yaml\">FROM php:8.3-cli\nCOPY . \/usr\/src\/myapp\nWORKDIR \/usr\/src\/myapp\nCMD [ \"php\", \".\/your-script.php\" ]<\/code><\/pre>\n<p>Ce Dockerfile cr\u00e9e un environnement de conteneur pour ex\u00e9cuter un script PHP \u00e0 partir d&rsquo;une interface de ligne de commande (CLI). Il commence par utiliser l&rsquo;image officielle de PHP avec la variante CLI, en s&rsquo;assurant que seul le runtime PHP est inclus dans le conteneur.<\/p>\n<p>Il copie ensuite le contenu du r\u00e9pertoire local &#8211; qui contient le fichier Docker &#8211; dans le r\u00e9pertoire <strong>\/usr\/src\/myapp<\/strong> \u00e0 l&rsquo;int\u00e9rieur du conteneur. Apr\u00e8s avoir d\u00e9fini le r\u00e9pertoire de travail \u00e0 <strong>\/usr\/src\/myapp<\/strong>, il sp\u00e9cifie le script PHP \u00e0 ex\u00e9cuter, <strong>your-script.php<\/strong>, en utilisant la commande <code>php<\/code>.<\/p>\n<p>L&rsquo;image contient de nombreuses extensions PHP pr\u00e9-compil\u00e9es. Commencez donc par v\u00e9rifier si l&rsquo;extension dont vous avez besoin est install\u00e9e en ex\u00e9cutant la commande <code>php -m<\/code>.<\/p>\n<p>Si l&rsquo;extension dont vous avez besoin n&rsquo;est pas disponible dans l&rsquo;image de base, Docker fournit les scripts d&rsquo;aide suivants pour vous aider \u00e0 installer des extensions suppl\u00e9mentaires plus facilement :<\/p>\n<ul>\n<li><code>docker-php-ext-configure<\/code><\/li>\n<li><code>docker-php-ext-install<\/code><\/li>\n<li><code>docker-php-ext-enable<\/code><\/li>\n<\/ul>\n<p>Par exemple, l&rsquo;application de d\u00e9monstration de ce tutoriel utilise l&rsquo;extension <a href=\"https:\/\/www.php.net\/manual\/en\/book.mysqli.php\" target=\"_blank\" rel=\"noopener noreferrer\">MySQLi<\/a> pour interagir avec la base de donn\u00e9es MariaDB. Cette extension n&rsquo;est pas compil\u00e9e dans l&rsquo;image par d\u00e9faut, alors installez-la en utilisant la commande suivante dans votre Dockerfile :<\/p>\n<pre><code class=\"language-yaml\">RUN docker-php-ext-install mysqli<\/code><\/pre>\n<p>Pour \u00e9crire un Dockerfile pour l&rsquo;application de d\u00e9monstration, cr\u00e9ez un nouveau fichier nomm\u00e9 <strong>Dockerfile<\/strong> dans le dossier racine du projet. Collez le code suivant dans le fichier :<\/p>\n<pre><code class=\"language-yaml\">FROM php:8.3-apache\n\n# Install MySQL client, server, and other dependencies\nRUN apt-get update && \\\n\tapt-get install -y \\\n\tdefault-mysql-client \\\n\tdefault-mysql-server \\\n\tgit \\\n\t&& apt-get clean \\\n\t&& rm -rf \/var\/lib\/apt\/lists\/*\n\n# Install mysqli PHP extension for MySQL support\nRUN docker-php-ext-install mysqli<\/code><\/pre>\n<p>Ce code sp\u00e9cifie l&rsquo;<a href=\"https:\/\/hub.docker.com\/_\/php\">image PHP officielle<\/a> &#8211; en particulier la version 8.3 &#8211; avec Apache install\u00e9 comme image de base pour le conteneur. Cette image fournit un environnement pr\u00e9configur\u00e9 pour l&rsquo;ex\u00e9cution d&rsquo;applications PHP avec Apache comme serveur web.<\/p>\n<p>Elle installe ensuite les d\u00e9pendances suppl\u00e9mentaires dont l&rsquo;application de d\u00e9monstration a besoin, notamment <code>default-mysql-client<\/code> et <code>default-mysql-server<\/code>, qui cr\u00e9ent et interagissent avec la <a href=\"https:\/\/docs.sevalla.com\/databases\/import-export\/mariadb\">base de donn\u00e9es MariaDB<\/a>.<\/p>\n<p>Enfin, l&rsquo;extrait ci-dessus installe l&rsquo;extension PHP <code>mysqli<\/code> \u00e0 l&rsquo;aide de <code>docker-php-ext-install<\/code>, qui permet \u00e0 l&rsquo;application de d\u00e9monstration d&rsquo;\u00e9tablir une connexion et d&rsquo;effectuer des op\u00e9rations sur la base de donn\u00e9es MariaDB.<\/p>\n<h2>G\u00e9rer les d\u00e9pendances avec Docker<\/h2>\n<p>La gestion des d\u00e9pendances PHP avec Docker implique l&rsquo;utilisation de <a href=\"https:\/\/getcomposer.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">Composer<\/a>, un gestionnaire de d\u00e9pendances populaire pour PHP. En installant Composer dans un conteneur Docker, vous pouvez rationaliser le processus d&rsquo;installation, de mise \u00e0 jour et de gestion des d\u00e9pendances PHP, tout en facilitant la coh\u00e9rence et la reproductibilit\u00e9 dans diff\u00e9rents environnements.<\/p>\n<p>Suivez les \u00e9tapes ci-dessous pour utiliser Composer pour la gestion des d\u00e9pendances dans l&rsquo;application de d\u00e9monstration. Ajoutez le code de chacune des \u00e9tapes \u00e0 votre <strong>fichier Docker<\/strong>.<\/p>\n<ol start=\"1\">\n<li>Installez Composer dans l&rsquo;image Docker en utilisant la commande ci-dessous :\n<pre><code class=\"language-yaml\"># Install Composer\nCOPY --from=composer\/composer:latest-bin \/composer \/usr\/bin\/composer<\/code><\/pre>\n<p>Cette commande copie un fichier binaire Composer pr\u00e9-construit \u00e0 partir du d\u00e9p\u00f4t Docker Hub dans votre image. <code>--from=composer\/composer:latest-bin<\/code> sp\u00e9cifie l&rsquo;image source \u00e0 partir de laquelle copier les fichiers.<\/p>\n<p>Le chemin <code>\/composer<\/code> de l&rsquo;image source contient les fichiers \u00e0 copier, tandis que le chemin <code>\/usr\/bin\/composer<\/code> de votre image Docker est la destination de ces fichiers.<\/li>\n<li>Ensuite, d\u00e9finissez le r\u00e9pertoire de travail en ex\u00e9cutant ce qui suit :\n<pre><code class=\"language-yaml\"># Set working directory\nWORKDIR \/var\/www\/html<\/code><\/pre>\n<\/li>\n<li>Copiez les fichiers <strong>composer.json<\/strong> et <strong>composer.lock<\/strong> dans l&rsquo;image.\n<pre><code class=\"language-yaml\"># Copy composer.json and composer.lock\nCOPY composer.json composer.lock .\/<\/code><\/pre>\n<\/li>\n<li>Installez les d\u00e9pendances de Composer list\u00e9es dans <strong>composer.json<\/strong>.\n<pre><code class=\"language-yaml\"># Install Composer dependencies\nRUN composer install --no-dev --optimize-autoloader<\/code><\/pre>\n<p><code>--no-dev<\/code> demande \u00e0 Composer d&rsquo;ignorer les d\u00e9pendances sp\u00e9cifiques au d\u00e9veloppement. <code>--optimize-autoloader<\/code> demande \u00e0 Composer d&rsquo;optimiser l&rsquo;autoloader pour de meilleures performances.<\/li>\n<\/ol>\n<p>Vous pouvez mettre \u00e0 jour et g\u00e9rer les d\u00e9pendances au fil du temps en modifiant le fichier <strong>composer.json<\/strong> si n\u00e9cessaire, en ajoutant de nouvelles d\u00e9pendances, en mettant \u00e0 jour les contraintes de version et en supprimant les d\u00e9pendances qui ne sont plus n\u00e9cessaires.<\/p>\n<p>Apr\u00e8s avoir effectu\u00e9 les modifications n\u00e9cessaires, vous ex\u00e9cutez <code>composer install<\/code> ou <code>composer update<\/code> dans le conteneur Docker pour installer ou mettre \u00e0 jour les d\u00e9pendances en cons\u00e9quence.<\/p>\n<h3>Appliquer les configurations finales<\/h3>\n<p>Avant que l&rsquo;application ne fonctionne avec Docker, vous devez cr\u00e9er la base de donn\u00e9es et l&rsquo;utilisateur de la base de donn\u00e9es, d\u00e9finir les variables d&rsquo;environnement et copier les fichiers du projet dans l&rsquo;image Docker.<\/p>\n<p>Pour cela, suivez les \u00e9tapes ci-dessous et copiez chaque extrait de code dans votre fichier Docker.<\/p>\n<ol start=\"1\">\n<li>D\u00e9finissez les variables d&rsquo;environnement que l&rsquo;application PHP utilisera pour se connecter \u00e0 la base de donn\u00e9es MariaDB. Vous pouvez remplacer les variables <code>DB_USER<\/code>, <code>DB_PASSWORD<\/code>, et <code>DB_NAME<\/code> par vos identifiants pr\u00e9f\u00e9r\u00e9s.\n<pre><code class=\"language-yaml\"># Set environment variables\nENV DB_HOST=localhost \\\n\tDB_USER=kinsta_user \\\n\tDB_PASSWORD=your_password_here \\\n\tDB_NAME=kinsta_docker_auth \\\n\t# Path to the Unix socket file used for connecting to the MariaDB server.\n\tDB_SOCKET=\/var\/run\/mysqld\/mysqld.sock<\/code><\/pre>\n<\/li>\n<li>Copiez les fichiers de l&rsquo;application PHP dans l&rsquo;image Docker :\n<pre><code class=\"language-yaml\"># Copy PHP application files into the image\nCOPY . .<\/code><\/pre>\n<\/li>\n<li>Copiez le script de d\u00e9marrage dans l&rsquo;image :\n<pre><code class=\"language-yaml\"># Copy the startup script\nCOPY scripts\/start.sh \/usr\/local\/bin\/start.sh<\/code><\/pre>\n<p>Ce script s&rsquo;ex\u00e9cute au d\u00e9marrage du conteneur et est responsable du d\u00e9marrage du serveur de base de donn\u00e9es, de la cr\u00e9ation d&rsquo;une base de donn\u00e9es, d&rsquo;une table et d&rsquo;un utilisateur, ainsi que du d\u00e9marrage du serveur Apache. Vous cr\u00e9erez ce script plus tard.<\/li>\n<li>Rendez le script ex\u00e9cutable \u00e0 l&rsquo;aide de la commande <code><a href=\"https:\/\/www.geeksforgeeks.org\/chmod-command-linux\/\" target=\"_blank\" rel=\"noopener noreferrer\">chmod<\/a><\/code>\n<pre><code class=\"language-yaml\"># Make the script executable\nRUN chmod +x \/usr\/local\/bin\/start.sh<\/code><\/pre>\n<\/li>\n<li>Enfin, ex\u00e9cutez le script \u00e0 l&rsquo;aide de la commande ci-dessous :\n<pre><code class=\"language-yaml\"># Execute the startup script\nCMD [\"\/usr\/local\/bin\/start.sh\"]<\/code><\/pre>\n<\/li>\n<\/ol>\n<p>Maintenant que le fichier Docker est complet, vous cr\u00e9ez le script de d\u00e9marrage dont il a \u00e9t\u00e9 question pr\u00e9c\u00e9demment.<\/p>\n<p>Cr\u00e9ez un nouveau fichier nomm\u00e9 <strong>scripts\/start.sh<\/strong> dans le dossier racine du projet et ajoutez le code suivant. Veillez \u00e0 utiliser les informations d&rsquo;identification de la base de donn\u00e9es que vous avez d\u00e9finies dans le fichier Docker.<\/p>\n<pre><code class=\"language-bash\">#!\/bin\/bash\n\n# Start MariaDB server\nservice mariadb start\n\n# Wait for MariaDB to be fully initialized (retry up to 30 times, waiting 1  second between each attempt)\nattempt=0\nwhile [ $attempt -lt 30 ]; do\n\t\tif mysqladmin ping &&gt;\/dev\/null; then\n    \t\techo \"MariaDB is up and running.\"\n    \t\tbreak\n\t\telse\n    \t\techo \"MariaDB is not yet available. Retrying...\"\n    \t\tattempt=$((attempt+1))\n    \t\tsleep 1\n\t\tFi\ndone\n\n# If MariaDB failed to start within the specified attempts, exit with an error\nif [ $attempt -eq 30 ]; then\n\t\techo \"Error: MariaDB failed to start within the specified time.\"\n\t\texit 1\nfi\n\n# Set the database name, username, and password\ndbname=\"kinsta_docker_auth\"\ndbuser=\"kinsta_user\"\ndbpassword=\"your_password_here\"\n\n# Create the database if it does not exist\nmysql -u root -e \"CREATE DATABASE IF NOT EXISTS $dbname;\"\n\n# Create a database user and assign privileges to the database\nmysql -u root -e \"CREATE USER '$dbuser'@'localhost' IDENTIFIED BY '$dbpassword';\"\nmysql -u root -e \"GRANT ALL PRIVILEGES ON $dbname.* TO '$dbuser'@'localhost';\"\nmysql -u root -e \"FLUSH PRIVILEGES;\"\n\n# Create users table if it does not exist\nmysql -u root -e \"USE $dbname; CREATE TABLE IF NOT EXISTS users (\n\t\tid INT AUTO_INCREMENT PRIMARY KEY,\n\t\tusername VARCHAR(20) UNIQUE NOT NULL,\n\t\tpassword_hash VARCHAR(255) NOT NULL\n);\"\n\n# Start Apache server\napache2ctl -D FOREGROUND<\/code><\/pre>\n<p>Ce <a href=\"https:\/\/kinqsta.com\/fr\/blog\/langages-de-script\/#8-bash\">script Bash<\/a> d\u00e9marre le serveur MariaDB. Ensuite, lorsque le serveur est enti\u00e8rement initialis\u00e9, il cr\u00e9e une base de donn\u00e9es, un utilisateur avec les privil\u00e8ges appropri\u00e9s et une table dans la base de donn\u00e9es. Enfin, il d\u00e9marre le serveur Apache.<\/p>\n<h2>D\u00e9ployer sur Kinsta<\/h2>\n<p>Avant de d\u00e9ployer votre application sur Kinsta, vous devez configurer le serveur Apache. Le service d&rsquo;<a href=\"https:\/\/sevalla.com\/application-hosting\/\">h\u00e9bergement d&rsquo;applications<\/a> de Kinsta a les ports <code>80<\/code> et <code>443<\/code> ouverts, mais nous recommandons d&rsquo;utiliser le port <code>8080<\/code> si votre application expose des ports.<\/p>\n<p>Par d\u00e9faut, le serveur Apache \u00e9coute les connexions sur le port <code>80<\/code>, vous devez donc le configurer pour qu&rsquo;il \u00e9coute les connexions sur le port <code>8080<\/code>. Pour cela, proc\u00e9dez comme suit :<\/p>\n<ol start=\"1\">\n<li>Cr\u00e9ez un dossier nomm\u00e9 <strong>apache-conf<\/strong> dans le dossier racine du projet.<\/li>\n<li>Dans le dossier nouvellement cr\u00e9\u00e9, cr\u00e9ez un fichier nomm\u00e9 <strong>apache-config.conf.<\/strong> Ajoutez le code ci-dessous pour configurer Apache afin qu&rsquo;il \u00e9coute les connexions sur le port 8080 :\n<pre><code class=\"language-bash\">&lt;VirtualHost *:8080&gt;\n\tServerAdmin webmaster@localhost\n\tDocumentRoot \/var\/www\/html\n\n\tErrorLog ${APACHE_LOG_DIR}\/error.log\n\tCustomLog ${APACHE_LOG_DIR}\/access.log combined\n&lt;\/VirtualHost&gt;<\/code><\/pre>\n<\/li>\n<li>Dans le dossier <strong>apache-conf<\/strong>, cr\u00e9ez un nouveau fichier nomm\u00e9 <strong>apache-ports.conf<\/strong> et ajoutez le code ci-dessous.\n<pre><code class=\"language-bash\"># Change the Listen directive to listen on port 8080\nListen 8080\n\n# Keep the existing configuration for port 443\n&lt;IfModule ssl_module&gt;\n\tListen 443\n&lt;\/IfModule&gt;\n\n&lt;IfModule mod_gnutls.c&gt;\n\tListen 443\n&lt;\/IfModule&gt;<\/code><\/pre>\n<p>La directive <code>Listen 8080<\/code> indique \u00e0 Apache d&rsquo;\u00e9couter les connexions entrantes sur le port 8080.<\/li>\n<li>Vous devez maintenant modifier le fichier Dockerfile pour appliquer cette configuration au serveur Apache. Dans le fichier Docker, ajoutez ces commandes juste apr\u00e8s la commande de d\u00e9finition du r\u00e9pertoire de travail (<code>WORKDIR \/var\/www\/html<\/code>). Elles sont charg\u00e9es de copier les fichiers de configuration personnalis\u00e9s dans les r\u00e9pertoires appropri\u00e9s.\n<pre><code class=\"language-yaml\"># Set up Apache virtual host\nCOPY apache-conf\/apache-config.conf \/etc\/apache2\/sites-available\/000-default.conf\n\n# Set up Apache ports\nCOPY apache-conf\/apache-ports.conf \/etc\/apache2\/ports.conf<\/code><\/pre>\n<\/li>\n<li>Enfin, cr\u00e9ez un fichier <strong>.dockerignore<\/strong> dans le dossier racine du projet. Ce fichier contient une liste de dossiers et de fichiers qui ne doivent pas \u00eatre copi\u00e9s dans l&rsquo;image Docker. Ajoutez <code>vendor<\/code> pour exclure le dossier <strong>vendor<\/strong>.<\/li>\n<\/ol>\n<p>Une fois toutes les configurations effectu\u00e9es, vous pouvez d\u00e9ployer votre projet sur Kinsta. T\u00e9l\u00e9versez les fichiers de votre projet sur votre fournisseur Git pr\u00e9f\u00e9r\u00e9 (<a href=\"https:\/\/docs.sevalla.com\/applications\/git\/bitbucket#grant-access-to-the-kinsta-bitbucket-application\">Bitbucket<\/a>, <a href=\"https:\/\/docs.sevalla.com\/applications\/git\/github#authenticate-and-authorize\">GitHub<\/a> ou <a href=\"https:\/\/docs.sevalla.com\/applications\/git\/gitlab#authorize-the-kinsta-gitlab-application\">GitLab<\/a>), puis suivez les \u00e9tapes ci-dessous.<\/p>\n<ol start=\"1\">\n<li>Dans votre <a href=\"https:\/\/my.kinqsta.com\/?lang=fr\" target=\"_blank\" rel=\"noopener noreferrer\">tableau de bord MyKinsta<\/a>, s\u00e9lectionnez <strong>Applications<\/strong> dans la colonne lat\u00e9rale et cliquez sur le bouton <strong>Ajouter une application<\/strong>.<\/li>\n<li>Sur la page <strong>Ajouter une application<\/strong>, s\u00e9lectionnez votre d\u00e9p\u00f4t Git et votre branche, donnez un nom \u00e0 l&rsquo;application, choisissez l&#8217;emplacement du centre de donn\u00e9es et cliquez sur <strong>Continuer<\/strong>.<\/li>\n<li>Sur la page <strong>Environnement de construction <\/strong>, s\u00e9lectionnez <strong>Utiliser Dockerfile pour configurer l&rsquo;image du conteneur<\/strong>. Indiquez \u00ab Dockerfile \u00bb comme <strong>chemin d&rsquo;acc\u00e8s au fichier Docker<\/strong> et un point (\u00ab\u00a0.\u00a0\u00bb) comme <strong>contexte<\/strong>. Cliquez sur <strong>Continuer<\/strong>.\n<p><figure style=\"width: 1001px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinqsta.com\/wp-content\/uploads\/2024\/04\/build-environment.png\" alt=\"Section Environnement de construction du formulaire Ajouter une application.\" width=\"1001\" height=\"471\"><figcaption class=\"wp-caption-text\">Section Environnement de construction du formulaire Ajouter une application.<\/figcaption><\/figure><\/li>\n<li><strong>Remarque <\/strong>: La base de donn\u00e9es perdra des donn\u00e9es lorsque vous red\u00e9marrez ou red\u00e9ployez l&rsquo;application. Si vous avez besoin de r\u00e9soudre ce probl\u00e8me, consultez le <a href=\"https:\/\/docs.sevalla.com\/applications\/storage\">stockage persistant<\/a> de Kinsta et appliquez-le sur cette page. Ce guide ne passe pas en revue la configuration du stockage persistant.<\/li>\n<li>Confirmez les d\u00e9tails du paiement sur la page <strong>R\u00e9sum\u00e9<\/strong> et cliquez sur <strong>D\u00e9ployer maintenant<\/strong>.<\/li>\n<li>Une fois le d\u00e9ploiement termin\u00e9, ouvrez le domaine de votre application pour voir le site en direct.\n<figure style=\"width: 1001px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinqsta.com\/wp-content\/uploads\/2024\/04\/live-site.png\" alt=\"Page de connexion sur le site web en ligne.\" width=\"1001\" height=\"471\"><figcaption class=\"wp-caption-text\">Page de connexion sur le site web en ligne.<\/figcaption><\/figure>\n<p>Cr\u00e9ez un compte, connectez-vous \u00e0 l&rsquo;aide de vos donn\u00e9es et v\u00e9rifiez que vous pouvez acc\u00e9der \u00e0 la page prot\u00e9g\u00e9e et que tout fonctionne comme pr\u00e9vu.<\/p>\n<p><figure style=\"width: 1001px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kinqsta.com\/wp-content\/uploads\/2024\/04\/login-homepage.png\" alt=\"La page d'accueil de l'application une fois connect\u00e9.\" width=\"1001\" height=\"471\"><figcaption class=\"wp-caption-text\">La page d&rsquo;accueil de l&rsquo;application une fois connect\u00e9.<\/figcaption><\/figure><\/li>\n<\/ol>\n<h2>Surveiller et optimiser votre application<\/h2>\n<p>Une fois que votre application est op\u00e9rationnelle sur Kinsta, il est essentiel de surveiller et d&rsquo;optimiser ses performances. Cela permet \u00e0 votre application de fonctionner sans heurts et d&rsquo;utiliser les ressources de mani\u00e8re efficace.<\/p>\n<p>L&rsquo;optimisation de la performance de votre application est cruciale pour offrir une exp\u00e9rience utilisateur rapide et r\u00e9active.<\/p>\n<p>Kinsta travaille en permanence \u00e0 l&rsquo;<a href=\"https:\/\/kinqsta.com\/fr\/blog\/performance-wordpress\/\">optimisation des performances de votre application<\/a>. Nous offrons des outils de surveillance complets pour vous aider \u00e0 suivre diverses mesures de performance, y compris la bande passante, le temps total de construction, l&rsquo;utilisation du CPU, la consommation de m\u00e9moire, le trafic r\u00e9seau et les temps de r\u00e9ponse. Vous pouvez consulter toutes ces informations en vous rendant dans la section <strong>Analyses<\/strong> de votre application sur le tableau de bord de Kinsta.<\/p>\n<p>Si vous rencontrez un probl\u00e8me ou un comportement inattendu de l&rsquo;application, vous pouvez vous rendre dans la section <strong>Journaux<\/strong> du tableau de bord de Kinsta. Vous y trouverez un aper\u00e7u d\u00e9taill\u00e9 des performances et du comportement de votre application, y compris les journaux d&rsquo;erreurs et d&rsquo;acc\u00e8s.<\/p>\n<p>En examinant m\u00e9ticuleusement ces journaux, vous pouvez obtenir des informations pr\u00e9cieuses sur les causes possibles du probl\u00e8me, telles que les messages d&rsquo;erreur, les traces de pile ou les mod\u00e8les de comportement anormal. Ces informations peuvent vous aider \u00e0 diagnostiquer la cause premi\u00e8re du probl\u00e8me et \u00e0 prendre les mesures appropri\u00e9es pour le r\u00e9soudre.<\/p>\n<p>En outre, vous pouvez exploiter des techniques d&rsquo;optimisation des performances dans votre environnement Docker, telles que l&rsquo;optimisation des images Docker et la mise en \u0153uvre des meilleures pratiques pour l&rsquo;architecture des applications et l&rsquo;optimisation du code.<\/p>\n<h2>R\u00e9sum\u00e9<\/h2>\n<p>Les conteneurs l\u00e9gers et portables de Docker facilitent l&#8217;empaquetage et le d\u00e9ploiement d&rsquo;applications avec toutes les d\u00e9pendances n\u00e9cessaires, quelle que soit l&rsquo;infrastructure sous-jacente. En conteneurisant votre application et ses d\u00e9pendances, vous favorisez la coh\u00e9rence entre les diff\u00e9rents environnements, rationalisez les processus d&rsquo;installation et b\u00e9n\u00e9ficiez d&rsquo;un meilleur contr\u00f4le des versions.<\/p>\n<p>L&rsquo;utilisation de Docker avec Kinsta am\u00e9liore le processus de d\u00e9ploiement de votre application. Sa prise en charge des fichiers Docker personnalis\u00e9s et d&rsquo;un large \u00e9ventail de langages de programmation, y compris PHP, garantit la compatibilit\u00e9 et la flexibilit\u00e9 de vos projets.<\/p>\n<p>Gr\u00e2ce \u00e0 l&rsquo;<a href=\"https:\/\/docs.sevalla.com\/applications\/get-started\/infrastructure\">infrastructure d&rsquo;h\u00e9bergement d&rsquo;application<\/a> et \u00e0 la technologie de conteneurisation de Docker, vous pouvez obtenir un d\u00e9ploiement rationalis\u00e9, une \u00e9volutivit\u00e9 et une fiabilit\u00e9 pour vos applications.<\/p>\n<p><em>Avez-vous d\u00e9j\u00e0 utilis\u00e9 Docker pour votre projet ? Avez-vous une exp\u00e9rience ou des id\u00e9es sur Docker ? Partagez-les dans les commentaires ci-dessous !<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Docker est une plateforme open-source populaire pour le d\u00e9veloppement, l&rsquo;exp\u00e9dition et l&rsquo;ex\u00e9cution d&rsquo;applications. Elle encapsule les applications et leurs d\u00e9pendances dans des conteneurs afin de favoriser &#8230;<\/p>\n","protected":false},"author":199,"featured_media":76774,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[],"topic":[965,999],"class_list":["post-76773","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","topic-docker","topic-fonction-php"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.6 (Yoast SEO v24.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Comment installer les d\u00e9pendances et extensions PHP avec Docker - Kinsta\u00ae<\/title>\n<meta name=\"description\" content=\"Simplifiez votre flux de d\u00e9veloppement en apprenant \u00e0 installer les d\u00e9pendances et les extensions PHP au sein des conteneurs Docker.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kinqsta.com\/fr\/blog\/installer-dependances-php-docker\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Comment installer les d\u00e9pendances et extensions PHP avec Docker\" \/>\n<meta property=\"og:description\" content=\"Simplifiez votre flux de d\u00e9veloppement en apprenant \u00e0 installer les d\u00e9pendances et les extensions PHP au sein des conteneurs Docker.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinqsta.com\/fr\/blog\/installer-dependances-php-docker\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/kinstafrance\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-04-16T14:43:26+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-19T08:29:45+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinqsta.com\/fr\/wp-content\/uploads\/sites\/4\/2024\/04\/wp-how-to-install-php-dependencies-and-extensions-with-docker.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1460\" \/>\n\t<meta property=\"og:image:height\" content=\"730\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Jeremy Holcombe\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"Simplifiez votre flux de d\u00e9veloppement en apprenant \u00e0 installer les d\u00e9pendances et les extensions PHP au sein des conteneurs Docker.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinqsta.com\/fr\/wp-content\/uploads\/sites\/4\/2024\/04\/wp-how-to-install-php-dependencies-and-extensions-with-docker-1024x512.jpg\" \/>\n<meta name=\"twitter:creator\" content=\"@kinsta_fr\" \/>\n<meta name=\"twitter:site\" content=\"@kinsta_fr\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jeremy Holcombe\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"15 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinqsta.com\/fr\/blog\/installer-dependances-php-docker\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinqsta.com\/fr\/blog\/installer-dependances-php-docker\/\"},\"author\":{\"name\":\"Jeremy Holcombe\",\"@id\":\"https:\/\/kinqsta.com\/fr\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21\"},\"headline\":\"Comment installer les d\u00e9pendances et extensions PHP avec Docker\",\"datePublished\":\"2024-04-16T14:43:26+00:00\",\"dateModified\":\"2024-04-19T08:29:45+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinqsta.com\/fr\/blog\/installer-dependances-php-docker\/\"},\"wordCount\":2639,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinqsta.com\/fr\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinqsta.com\/fr\/blog\/installer-dependances-php-docker\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinqsta.com\/fr\/wp-content\/uploads\/sites\/4\/2024\/04\/wp-how-to-install-php-dependencies-and-extensions-with-docker-1.jpg\",\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinqsta.com\/fr\/blog\/installer-dependances-php-docker\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinqsta.com\/fr\/blog\/installer-dependances-php-docker\/\",\"url\":\"https:\/\/kinqsta.com\/fr\/blog\/installer-dependances-php-docker\/\",\"name\":\"Comment installer les d\u00e9pendances et extensions PHP avec Docker - Kinsta\u00ae\",\"isPartOf\":{\"@id\":\"https:\/\/kinqsta.com\/fr\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinqsta.com\/fr\/blog\/installer-dependances-php-docker\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinqsta.com\/fr\/blog\/installer-dependances-php-docker\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinqsta.com\/fr\/wp-content\/uploads\/sites\/4\/2024\/04\/wp-how-to-install-php-dependencies-and-extensions-with-docker-1.jpg\",\"datePublished\":\"2024-04-16T14:43:26+00:00\",\"dateModified\":\"2024-04-19T08:29:45+00:00\",\"description\":\"Simplifiez votre flux de d\u00e9veloppement en apprenant \u00e0 installer les d\u00e9pendances et les extensions PHP au sein des conteneurs Docker.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinqsta.com\/fr\/blog\/installer-dependances-php-docker\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinqsta.com\/fr\/blog\/installer-dependances-php-docker\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/kinqsta.com\/fr\/blog\/installer-dependances-php-docker\/#primaryimage\",\"url\":\"https:\/\/kinqsta.com\/fr\/wp-content\/uploads\/sites\/4\/2024\/04\/wp-how-to-install-php-dependencies-and-extensions-with-docker-1.jpg\",\"contentUrl\":\"https:\/\/kinqsta.com\/fr\/wp-content\/uploads\/sites\/4\/2024\/04\/wp-how-to-install-php-dependencies-and-extensions-with-docker-1.jpg\",\"width\":1460,\"height\":730},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinqsta.com\/fr\/blog\/installer-dependances-php-docker\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinqsta.com\/fr\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Docker\",\"item\":\"https:\/\/kinqsta.com\/fr\/sujets\/docker\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Comment installer les d\u00e9pendances et extensions PHP avec Docker\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinqsta.com\/fr\/#website\",\"url\":\"https:\/\/kinqsta.com\/fr\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Solutions d&#039;h\u00e9bergement premium, rapides et s\u00e9curis\u00e9es\",\"publisher\":{\"@id\":\"https:\/\/kinqsta.com\/fr\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinqsta.com\/fr\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinqsta.com\/fr\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinqsta.com\/fr\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/kinqsta.com\/fr\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinqsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinqsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinqsta.com\/fr\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/kinstafrance\/\",\"https:\/\/x.com\/kinsta_fr\",\"https:\/\/www.instagram.com\/kinstahosting\/\",\"https:\/\/www.linkedin.com\/company\/kinsta\/\",\"https:\/\/www.pinterest.com\/kinstahosting\/\",\"https:\/\/www.youtube.com\/c\/Kinsta\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/kinqsta.com\/fr\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21\",\"name\":\"Jeremy Holcombe\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/kinqsta.com\/fr\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/0e17001f3bb37dbbe54fceef9bb547fa?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/0e17001f3bb37dbbe54fceef9bb547fa?s=96&d=mm&r=g\",\"caption\":\"Jeremy Holcombe\"},\"description\":\"Senior Editor at Kinsta, WordPress Web Developer, and Content Writer. Outside of all things WordPress, I enjoy the beach, golf, and movies. I also have tall people problems.\",\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/jeremyholcombe\/\"],\"url\":\"https:\/\/kinqsta.com\/fr\/blog\/author\/jeremyholcombe\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Comment installer les d\u00e9pendances et extensions PHP avec Docker - Kinsta\u00ae","description":"Simplifiez votre flux de d\u00e9veloppement en apprenant \u00e0 installer les d\u00e9pendances et les extensions PHP au sein des conteneurs Docker.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kinqsta.com\/fr\/blog\/installer-dependances-php-docker\/","og_locale":"fr_FR","og_type":"article","og_title":"Comment installer les d\u00e9pendances et extensions PHP avec Docker","og_description":"Simplifiez votre flux de d\u00e9veloppement en apprenant \u00e0 installer les d\u00e9pendances et les extensions PHP au sein des conteneurs Docker.","og_url":"https:\/\/kinqsta.com\/fr\/blog\/installer-dependances-php-docker\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinstafrance\/","article_published_time":"2024-04-16T14:43:26+00:00","article_modified_time":"2024-04-19T08:29:45+00:00","og_image":[{"width":1460,"height":730,"url":"https:\/\/kinqsta.com\/fr\/wp-content\/uploads\/sites\/4\/2024\/04\/wp-how-to-install-php-dependencies-and-extensions-with-docker.jpg","type":"image\/jpeg"}],"author":"Jeremy Holcombe","twitter_card":"summary_large_image","twitter_description":"Simplifiez votre flux de d\u00e9veloppement en apprenant \u00e0 installer les d\u00e9pendances et les extensions PHP au sein des conteneurs Docker.","twitter_image":"https:\/\/kinqsta.com\/fr\/wp-content\/uploads\/sites\/4\/2024\/04\/wp-how-to-install-php-dependencies-and-extensions-with-docker-1024x512.jpg","twitter_creator":"@kinsta_fr","twitter_site":"@kinsta_fr","twitter_misc":{"\u00c9crit par":"Jeremy Holcombe","Dur\u00e9e de lecture estim\u00e9e":"15 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinqsta.com\/fr\/blog\/installer-dependances-php-docker\/#article","isPartOf":{"@id":"https:\/\/kinqsta.com\/fr\/blog\/installer-dependances-php-docker\/"},"author":{"name":"Jeremy Holcombe","@id":"https:\/\/kinqsta.com\/fr\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21"},"headline":"Comment installer les d\u00e9pendances et extensions PHP avec Docker","datePublished":"2024-04-16T14:43:26+00:00","dateModified":"2024-04-19T08:29:45+00:00","mainEntityOfPage":{"@id":"https:\/\/kinqsta.com\/fr\/blog\/installer-dependances-php-docker\/"},"wordCount":2639,"commentCount":0,"publisher":{"@id":"https:\/\/kinqsta.com\/fr\/#organization"},"image":{"@id":"https:\/\/kinqsta.com\/fr\/blog\/installer-dependances-php-docker\/#primaryimage"},"thumbnailUrl":"https:\/\/kinqsta.com\/fr\/wp-content\/uploads\/sites\/4\/2024\/04\/wp-how-to-install-php-dependencies-and-extensions-with-docker-1.jpg","inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinqsta.com\/fr\/blog\/installer-dependances-php-docker\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinqsta.com\/fr\/blog\/installer-dependances-php-docker\/","url":"https:\/\/kinqsta.com\/fr\/blog\/installer-dependances-php-docker\/","name":"Comment installer les d\u00e9pendances et extensions PHP avec Docker - Kinsta\u00ae","isPartOf":{"@id":"https:\/\/kinqsta.com\/fr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinqsta.com\/fr\/blog\/installer-dependances-php-docker\/#primaryimage"},"image":{"@id":"https:\/\/kinqsta.com\/fr\/blog\/installer-dependances-php-docker\/#primaryimage"},"thumbnailUrl":"https:\/\/kinqsta.com\/fr\/wp-content\/uploads\/sites\/4\/2024\/04\/wp-how-to-install-php-dependencies-and-extensions-with-docker-1.jpg","datePublished":"2024-04-16T14:43:26+00:00","dateModified":"2024-04-19T08:29:45+00:00","description":"Simplifiez votre flux de d\u00e9veloppement en apprenant \u00e0 installer les d\u00e9pendances et les extensions PHP au sein des conteneurs Docker.","breadcrumb":{"@id":"https:\/\/kinqsta.com\/fr\/blog\/installer-dependances-php-docker\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinqsta.com\/fr\/blog\/installer-dependances-php-docker\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/kinqsta.com\/fr\/blog\/installer-dependances-php-docker\/#primaryimage","url":"https:\/\/kinqsta.com\/fr\/wp-content\/uploads\/sites\/4\/2024\/04\/wp-how-to-install-php-dependencies-and-extensions-with-docker-1.jpg","contentUrl":"https:\/\/kinqsta.com\/fr\/wp-content\/uploads\/sites\/4\/2024\/04\/wp-how-to-install-php-dependencies-and-extensions-with-docker-1.jpg","width":1460,"height":730},{"@type":"BreadcrumbList","@id":"https:\/\/kinqsta.com\/fr\/blog\/installer-dependances-php-docker\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinqsta.com\/fr\/"},{"@type":"ListItem","position":2,"name":"Docker","item":"https:\/\/kinqsta.com\/fr\/sujets\/docker\/"},{"@type":"ListItem","position":3,"name":"Comment installer les d\u00e9pendances et extensions PHP avec Docker"}]},{"@type":"WebSite","@id":"https:\/\/kinqsta.com\/fr\/#website","url":"https:\/\/kinqsta.com\/fr\/","name":"Kinsta\u00ae","description":"Solutions d&#039;h\u00e9bergement premium, rapides et s\u00e9curis\u00e9es","publisher":{"@id":"https:\/\/kinqsta.com\/fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinqsta.com\/fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/kinqsta.com\/fr\/#organization","name":"Kinsta","url":"https:\/\/kinqsta.com\/fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/kinqsta.com\/fr\/#\/schema\/logo\/image\/","url":"https:\/\/kinqsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinqsta.com\/fr\/wp-content\/uploads\/sites\/4\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinqsta.com\/fr\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/kinstafrance\/","https:\/\/x.com\/kinsta_fr","https:\/\/www.instagram.com\/kinstahosting\/","https:\/\/www.linkedin.com\/company\/kinsta\/","https:\/\/www.pinterest.com\/kinstahosting\/","https:\/\/www.youtube.com\/c\/Kinsta"]},{"@type":"Person","@id":"https:\/\/kinqsta.com\/fr\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21","name":"Jeremy Holcombe","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/kinqsta.com\/fr\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/0e17001f3bb37dbbe54fceef9bb547fa?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0e17001f3bb37dbbe54fceef9bb547fa?s=96&d=mm&r=g","caption":"Jeremy Holcombe"},"description":"Senior Editor at Kinsta, WordPress Web Developer, and Content Writer. Outside of all things WordPress, I enjoy the beach, golf, and movies. I also have tall people problems.","sameAs":["https:\/\/www.linkedin.com\/in\/jeremyholcombe\/"],"url":"https:\/\/kinqsta.com\/fr\/blog\/author\/jeremyholcombe\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinqsta.com\/fr\/wp-json\/wp\/v2\/posts\/76773","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinqsta.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinqsta.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinqsta.com\/fr\/wp-json\/wp\/v2\/users\/199"}],"replies":[{"embeddable":true,"href":"https:\/\/kinqsta.com\/fr\/wp-json\/wp\/v2\/comments?post=76773"}],"version-history":[{"count":5,"href":"https:\/\/kinqsta.com\/fr\/wp-json\/wp\/v2\/posts\/76773\/revisions"}],"predecessor-version":[{"id":76793,"href":"https:\/\/kinqsta.com\/fr\/wp-json\/wp\/v2\/posts\/76773\/revisions\/76793"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinqsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/76773\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinqsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/76773\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinqsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/76773\/translations\/pt"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinqsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/76773\/translations\/de"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinqsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/76773\/translations\/jp"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinqsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/76773\/translations\/es"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinqsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/76773\/translations\/fr"},{"href":"https:\/\/kinqsta.com\/fr\/wp-json\/kinsta\/v1\/posts\/76773\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinqsta.com\/fr\/wp-json\/wp\/v2\/media\/76774"}],"wp:attachment":[{"href":"https:\/\/kinqsta.com\/fr\/wp-json\/wp\/v2\/media?parent=76773"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinqsta.com\/fr\/wp-json\/wp\/v2\/tags?post=76773"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinqsta.com\/fr\/wp-json\/wp\/v2\/topic?post=76773"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}