Maison > Article > développement back-end > documentation de déploiement du programme php
Document de déploiement du programme PHP
PHP, en tant que langage de script côté serveur populaire, a été largement utilisé dans le développement de sites Web, le développement d'applications Web, les scripts de ligne de commande et d'autres domaines. Comment déployer des programmes PHP est devenu l'une des compétences que tout programmeur PHP doit maîtriser. Cet article présentera le processus de déploiement des programmes PHP et aidera les lecteurs à terminer le déploiement des programmes PHP dans différents scénarios.
Tout d'abord, nous devons installer l'environnement PHP sur la machine cible. Vous pouvez installer PHP dans l'environnement Linux via la commande suivante :
$ sudo apt-get update $ sudo apt-get install php
Une fois l'installation terminée, vous pouvez vérifier la version de PHP via la commande suivante :
$ php -v
Si vous voyez les informations sur la version de PHP, cela signifie que l'environnement PHP est configuré avec succès.
Les programmes PHP doivent être exécutés via un serveur Web. Voici deux serveurs Web courants : Apache et Nginx.
2.1 Apache
Apache est l'un des serveurs Web les plus populaires, prend en charge plusieurs systèmes d'exploitation et est très facile à configurer. Apache peut être installé via la commande suivante :
$ sudo apt-get install apache2
Une fois l'installation terminée, vous pouvez vérifier si Apache fonctionne via la commande suivante :
$ systemctl status apache2
Si vous voyez les informations d'état d'Apache, Apache fonctionne normalement.
2.2 Nginx
Nginx est un serveur Web léger avec des performances plus rapides et une consommation de ressources inférieure à celle d'Apache. Nginx peut être installé via la commande suivante :
$ sudo apt-get install nginx
Une fois l'installation terminée, vous pouvez vérifier si Nginx s'exécute via la commande suivante :
$ systemctl status nginx
Si vous voyez les informations d'état de Nginx, Nginx fonctionne normalement.
Après avoir sélectionné le serveur Web, vous pouvez commencer à déployer le programme PHP. Nous pouvons télécharger des fichiers de programme PHP sur le serveur ou télécharger le code sur la machine cible via des outils de contrôle de version tels que Git.
3.1 Site Web statique
Si le programme PHP ne dispose que de simples pages HTML et de données statiques, nous pouvons placer ces fichiers dans le répertoire racine du serveur Web. Le répertoire racine est par défaut /var/www/html
dans Apache et /usr/share/nginx/html
dans Nginx. /var/www/html
,在Nginx中默认为/usr/share/nginx/html
。
假设PHP程序的根目录为/var/www/myprogram
,我们将其中的所有文件放到根目录下。然后将Web服务器的配置文件修改为如下内容:
Apache:
<VirtualHost *:80> ServerName myprogram.com DocumentRoot /var/www/myprogram </VirtualHost>
Nginx:
server { listen 80; server_name myprogram.com; root /var/www/myprogram; }
重启Web服务器,即可通过浏览器访问PHP程序。
3.2 动态网站
如果PHP程序需要动态生成页面,我们需要配置Web服务器与PHP之间的交互方式。
3.2.1 Apache + mod_php
Apache可以通过在PHP和Web服务器之间添加插件来支持PHP,其中最常见的插件是mod_php
/var/www/myprogram
et que nous plaçons tous les fichiers qu'il contient dans le répertoire racine. Modifiez ensuite le fichier de configuration du serveur web avec le contenu suivant : Apache:
$ sudo apt-get install libapache2-mod-phpNginx:
<VirtualHost *:80> ServerName myprogram.com DocumentRoot /var/www/myprogram <Directory /var/www/myprogram> AllowOverride All </Directory> # Add the following two lines AddHandler php-script .php AddType text/html .php </VirtualHost>Redémarrez le serveur web et vous pourrez accéder au programme PHP via le navigateur. 3.2 Site Web dynamique Si le programme PHP doit générer dynamiquement des pages, nous devons configurer la méthode d'interaction entre le serveur Web et PHP. 3.2.1 Apache + mod_php
mod_php
. Il peut être installé via la commande suivante : $ sudo apt-get install php-fpm
server { listen 80; server_name myprogram.com; root /var/www/myprogram; location / { try_files $uri $uri/ /index.php?$args; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.4-fpm.sock; # PHP版本可能不同,需要根据实际情况修改。 } }Après avoir redémarré le service Apache, vous pouvez accéder au programme PHP via le navigateur. 3.2.2 Nginx + PHP-FPMLa méthode de communication entre Nginx et PHP est légèrement plus compliquée qu'Apache. Nous devons utiliser PHP-FPM pour gérer les processus PHP. Il peut être installé via la commande suivante :
<VirtualHost *:80> ServerName myprogram.com DocumentRoot /var/www/myprogram <Directory /var/www/myprogram> AllowOverride All </Directory> # Add the following two lines AddHandler php-script .php AddType text/html .php # Add the following two lines php_flag display_errors on php_value error_log /var/log/apache2/error.log </VirtualHost>
server { listen 80; server_name myprogram.com; root /var/www/myprogram; location / { try_files $uri $uri/ /index.php?$args; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.4-fpm.sock; # Add the following two lines fastcgi_param PHP_FLAG "display_errors=on"; fastcgi_param PHP_VALUE "error_log=/var/log/nginx/error.log"; } }
La sécurité des programmes PHP est également très importante. Nous pouvons améliorer la sécurité du programme des manières suivantes :
Désactiver les fonctions PHP dangereuses Définir les autorisations de fichiers correctes ; Injection ; Activez HTTPS.4.3 Gestion des journaux
Apache :
rrreee🎜Nginx :🎜rrreee🎜Après avoir activé le journal, nous pouvons vérifier le journal des erreurs pour comprendre l'anomalie du programme et effectuer des réparations. 🎜🎜🎜Résumé🎜🎜🎜Cet article explique comment terminer le déploiement de programmes PHP à travers des étapes telles que la sélection d'un serveur Web, le déploiement de programmes PHP et l'exécution de configurations supplémentaires. Il présente également les problèmes courants de performances, de sécurité et de gestion des journaux. Les lecteurs peuvent choisir différentes méthodes de déploiement en fonction de la situation réelle, et configurer et effectuer un réglage des performances du programme pour améliorer les performances et la sécurité du programme. 🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!