Les développeurs d'applications Web peuvent avoir des difficultés à installer le langage de script PHP sur Ubuntu Server. Cela est dû à de nombreux facteurs. Mais grâce à ce guide, chacun peut éviter les erreurs lors de l’installation.

L'installation du langage PHP dans Ubuntu Server peut se faire de différentes manières - tout dépend de sa version et de la version du système d'exploitation lui-même. Et la principale différence réside dans les commandes elles-mêmes qui devront être exécutées.

Il convient également de noter que le package PHP comprend plusieurs composants qui, si vous le souhaitez, peuvent être installés séparément les uns des autres.

Méthode 1 : installation standard

Une installation standard nécessite l'utilisation de la dernière version du package. C'est différent pour chaque système d'exploitation Ubuntu Server :

  • 12.04 LTS (Précis) - 5.3 ;
  • 14.04 LTS (Confiant) - 5,5 ;
  • 15h10 (rusé) - 5,6 ;
  • 16.04 LTS (Xenial) - 7.0.

Tous les packages sont distribués via le référentiel officiel du système d'exploitation, il n'est donc pas nécessaire de connecter un tiers. Mais l'installation du package complet est effectuée en deux versions et dépend de la version du système d'exploitation. Donc, pour installer PHP sur Ubuntu Server 16.04, exécutez cette commande :

sudo apt-get install php

Et pour les versions antérieures :

sudo apt-get install php5

Si vous n'avez pas besoin de tous les composants du package PHP sur votre système, vous pouvez les installer séparément. Comment procéder et quelles commandes vous devez exécuter pour cela seront décrits ci-dessous.

Module pour serveur HTTP Apache

Pour installer le module PHP pour Apache sur Ubuntu Server 16.04, vous devez exécuter la commande suivante :

sudo apt-get install libapache2-mod-php

Dans les versions antérieures du système d'exploitation :

sudo apt-get install libapache2-mod-php5

Il vous sera demandé un mot de passe, après l'avoir saisi, vous devrez donner l'autorisation d'installer. Pour ce faire, saisissez la lettre "D" ou "Y"(selon la localisation d'Ubuntu Server) et cliquez sur Entrer.

Pour installer le module FPM sur un système d'exploitation version 16.04, procédez comme suit :

sudo apt-get install php-fpm

Dans les versions antérieures :

sudo apt-get install php5-fpm

Dans ce cas, l'installation démarrera automatiquement, immédiatement après la saisie du mot de passe superutilisateur.

La CLI est nécessaire pour les développeurs qui créent des programmes console en PHP. Pour y implémenter ce même langage de programmation, dans Ubuntu 16.04, vous devez exécuter la commande :

sudo apt-get install php-cli

Dans les versions antérieures :

sudo apt-get install php5-cli

Extensions PHP

Pour implémenter toutes les fonctions PHP possibles, il vaut la peine d'installer un certain nombre d'extensions pour les programmes que vous utilisez. Les commandes les plus populaires pour effectuer une telle installation vont maintenant être présentées.

Remarque : ci-dessous, nous fournirons deux commandes pour chaque extension, la première étant destinée à Ubuntu Server 16.04 et la seconde aux versions antérieures du système d'exploitation.


Distribution Apache2.2.2 sous la forme d'un installateur nommé apache_2.2.2-win32-x86-no_ssl.msi. Vous pouvez le trouver sur www.sai.msu.su/apache/dist/httpd/binaries/win32/

Exécutez le programme d'installation téléchargé. Lorsque l'installateur vous demande où installer Apache, indiquez-lui le répertoire c:/Apache2.2

Note

Toutes les instructions supplémentaires seront basées sur l'hypothèse qu'Apache est installé dans le répertoire c:/Apache2.2. Si vous installez Apache dans un autre répertoire, vous devez adapter les instructions en fonction de votre situation.

L'installation d'Apache à partir du programme d'installation est assez transparente et ne pose pas de difficultés particulières, de sorte qu'il n'est pas rationnel d'en fournir une description complète dans cet article. Voici juste une boîte de dialogue que l'utilisateur doit remplir pendant le processus d'installation. Il s'agit de la fenêtre de sélection du nom du serveur. Dans les champs « Domaine réseau » et « Nom du serveur », notez le nom du serveur avec lequel Apache sera configuré pour fonctionner par défaut.


Note

Cette instruction décrit l'installation du serveur Apache en supposant qu'il ne sera utilisé que pour des tests locaux de sites et ne fonctionnera pas sur les réseaux Intranet et Internet. Pour faire fonctionner le serveur sur les réseaux Intranet et Internet, vous devez saisir le véritable nom de domaine qui sera utilisé par le serveur.

Si le processus d'installation s'est terminé correctement, une fois terminé, Apache2.2 devrait déjà fonctionner en tant que service. Pour vérifier si tel est le cas, ouvrez la liste des services Windows (« Démarrer" | "Panneau de configuration" | "Gestion" | "Prestations de service") et recherchez-y la ligne Apache2.2. (ou Apache2). L'état du service : en cours d'exécution ou non est affiché dans la troisième colonne.

Si vous ne trouvez pas la ligne Apache2.2 dans la liste des services, le processus d'installation a probablement échoué et Apache n'a pas été installé en tant que service. Dans ce cas, vous devez installer vous-même Apache en tant que service. Pour ce faire, vous aurez besoin d'un programme avec une console, tel que FAR, WindowsCommander, TotalCommander, etc.

Ouvrez le programme avec la console, allez dans le répertoire c:/Apache2.2/bin et exécutez la commande :

C:/Apache2.2/bin/httpd.exe -k installer

Vous devriez recevoir un message en réponse "Le service Apache2 est installé avec succès". L'apparence de la fenêtre de la console est illustrée sur la figure.


Premier démarrage

La gestion d'Apache (démarrage, arrêt, redémarrage) s'effectue soit via l'interface graphique de gestion des services Windows, soit dans la console en exécutant le fichier httpd.exe avec certaines touches.

Les services Windows sont gérés via le menu contextuel, qui s'ouvre en cliquant avec le bouton droit sur le nom du service. Si Apache n'est pas encore en cours d'exécution, exécutez la commande « Démarrer » dans le menu contextuel.


Si vous aimez travailler dans la console, les touches ci-dessous sont utilisées pour contrôler Apache.

Commandes Apache via la console

Httpd.exe -k start (Démarrer le service)
httpd.exe -k stop (Arrêter le service)
httpd.exe -k restart (Redémarrer)


Par défaut, le répertoire racine du serveur est défini sur le répertoire c:/Apache2.2/htdocs. C'est dans celui-ci que se trouve le fichier index.html, affiché sous le nom localhost. La directive est chargée de déterminer le répertoire racine du site Racine du document dans le fichier c:/Apache2.2/conf/httpd.conf.

DocumentRoot "C:/Apache2.2/htdocs"

Vous pouvez le modifier et faire d'un autre répertoire le répertoire racine du serveur.

Cependant, avant de faire cela, vous devez apporter des ajustements minimes au fichier de configuration httpd.conf. Par défaut, Apache est configuré pour refuser tout accès aux répertoires du site et les autorisations doivent être définies explicitement pour chaque répertoire, comme c'est le cas pour le répertoire C:/Apache2.2/htdocs. Si vous déplacez le répertoire racine du serveur vers un autre répertoire sans définir les autorisations appropriées, vous recevrez une erreur 403 Forbidden et la page affichée dans la figure.


Par conséquent, si vous n'avez PAS l'intention d'utiliser votre dernier Apache pour fournir des services d'hébergement sur Internet ou sur un réseau local, vous devez immédiatement supprimer la protection par défaut.

Recherchez les lignes dans le fichier C:/Apache2.2/conf/httpd.conf :


Options SuivreSymLinks
AllowOverride Aucun
Commande refuser, autoriser
Nier de tous
Satisfaire tout le monde

Faites attention à la ligne Nier de tous.

Il interdit tout accès aux répertoires, y compris les répertoires d'hôtes virtuels. Lorsque vous essayez d'y accéder, Apache répondra avec une erreur 403 Forbidden. Son contrepoids est la directive « Autoriser tous ». La définition de cette directive remplace la directive « Deny from all ».

Vous pouvez définir la directive Allow from all pour chaque répertoire et pour chaque hôte virtuel, mais vous pouvez le faire plus simplement et supprimer (ou commenter) la directive « Deny from all » du conteneur.


Options SuivreSymLinks
AllowOverride Aucun
Commande refuser, autoriser
# Refuser de tout le monde
Satisfaire tout le monde

Après avoir terminé ces étapes simples, redémarrez Apache. Comment procéder est décrit ci-dessus.

Installation de PHP

Un serveur Web moderne est impensable sans la prise en charge des pages générées dynamiquement. En Russie, la technologie PHP est le leader parmi les technologies de création de pages dynamiques et d'applications Web. Ci-dessous, nous discuterons du processus de connexion de PHP en utilisant la version 5.3.5 comme exemple. Si vous avez déjà installé cette version de PHP, alors vous pouvez accéder directement à la section « Connecter PHP à Apache2.2.2 ».

Vous pouvez télécharger la distribution PHP depuis notre site Web à l'adresse . En suivant le lien, vous pourrez également vous familiariser avec les règles de choix d'une distribution et pourquoi nous avons pris la liberté de proposer de télécharger la distribution depuis notre site internet, et non depuis le php.net officiel. Lors du téléchargement de la distribution fournie sur le lien, il est supposé que vous installerez PHP en tant que module.

Décompressez l'archive zip avec php dans le répertoire c:/php-5.3.5. Ceci termine l’installation de PHP. D'autres actions concerneront la mise en place de la combinaison PHP+Apache et la configuration de PHP lui-même.

Note

Toutes les instructions supplémentaires seront basées sur l'hypothèse que vous utilisez php-5.3.5, qui est installé dans le répertoire c:/php-5.3.5. Si vous disposez d'une version différente de PHP ou si vous installez php dans un répertoire différent, vous devez adapter les instructions fournies à votre situation.

Connexion de PHP à Apache2.2.2

Problèmes de connexion de PHP à Apache2.2

Si vous essayez de connecter le module standard php5apache2.dll à Apache2.2.2, vous échouerez. Apache ne voudra pas démarrer, donnant le message affiché dans l'image.


Et les messages suivants apparaîtront dans les journaux système et des applications :

Le service Apache nommé a signalé l'erreur suivante :
>>> httpd.exe : erreur de syntaxe à la ligne 115 de C:/Apache2.2/conf/httpd.conf :
Impossible de charger C:/php-5.3.5/php5apache2.dll sur le serveur : \xcd\xe5 \xed\xe0\xe9
\xe4\xe5\xed \xf3\xea\xe0\xe7\xe0\xed\xed\xfb\xe9 \xec\xee\xe4\xf3\xeb\xfc.

La bibliothèque php5apache2.dll est destinée à Apache 2.0.X ; pour Apache 2.2.X vous devez inclure la bibliothèque php5apache2_2.dll (elle se trouve à côté de php5apache2.dll dans la distribution).

Configuration de httpd.conf pour la connexion PHP

Pour connecter php en tant que module, vous devez ajouter seulement 3 instructions au fichier httpd.conf

Instructions pour connecter PHP à httpd.conf

LoadModule php5_module c:/php-5.3.5/php5apache2_2.dll
AddType application/x-httpd-php phtml php
PHPIniDir "c:/php-5.3.5/"

Ces lignes doivent être placées approximativement au milieu du fichier httpd.conf, par exemple immédiatement après les directives LoadModule. L'emplacement exact de ces directives n'est pas critique, mais elles ne doivent pas être placées au début ou à la toute fin du fichier httpd.conf.

  • La première ligne charge le module PHP implémenté dans la bibliothèque php5apache2_2.dll
  • La deuxième ligne définit la correspondance entre les fichiers avec l'extension php et le type MIME application/x-httpd-php, qui est traité par le module PHP.
  • La troisième ligne permet de spécifier explicitement l'emplacement du fichier de configuration php.ini.

Note

La directive PHPIniDir manquait grandement dans Apache1.3, car elle provoquait souvent une confusion dans la configuration de PHP lorsqu'il y avait plusieurs copies du fichier php.ini, ou lorsqu'il était placé dans le mauvais répertoire.

L'étape suivante consiste à créer un fichier de configuration pour PHP. Dans httpd.conf, la directive PHPIniDir spécifiait le répertoire c:/php-5.3.5 comme emplacement du fichier de configuration php. Le fichier de configuration lui-même doit s'appeler php.ini

Le répertoire c:/php-5.3.5 contient plusieurs modèles de fichiers de configuration. Prenons le fichier comme base c:/php-5.3.5/php.ini-recommandé et renommez-le en php.ini. Ainsi, le fichier de configuration PHP (php.ini) sera situé dans le répertoire c:/php-5.3.5 et c'est là que toutes les modifications de configuration PHP doivent être effectuées.

Après avoir modifié httpd.conf et créé le fichier php.ini, redémarrez Apache.

Créez un script PHP de test appelé phpinfo.php qui exécute la même fonction et enregistrez-le dans un répertoire c:/Apache2.2/htdocs.

Script phpinfo.php

echo phpinfo();

// Notez que la syntaxe de notation complète est utilisée
//script php.?>

Note

Le script de test phpinfo.php utilise la syntaxe complète pour définir un script PHP. Dans les distributions PHP récentes, la syntaxe abrégée est désactivée par défaut. La directive est chargée d'activer le mode d'enregistrement court short_open_tag dans le fichier php.ini. Il doit être réglé sur Sur.

Accédez maintenant à ce script via votre navigateur en entrant dans la barre d'adresse http://localhost/phpinfo.php. En réponse, vous devriez voir les célèbres pages violettes affichant les paramètres de php et de ses extensions.


Si le rapport de la fonction phpinfo() sous forme de « tableaux violets » s'affiche, cela signifie que php est exécuté avec succès par Apache.

Erreurs possibles

Apache se charge, mais au lieu des "tableaux violets", il s'ouvre sur une page vierge.

Vérifiez : le script de test est-il écrit en syntaxe complète ou en syntaxe abrégée ? Ceux.:

Doit être enregistré
echo phpinfo();
?>
au lieu de
echo phpinfo();
?>

La tendance au passage à PHP 7 prend de l’ampleur. Parce que cela fonctionne plus vite (objectivement !), c'est plus pratique pour le développement (mais ce n'est pas sûr, semble-t-il).

Le même WordPress est capable de fonctionner depuis longtemps sur les nouvelles versions de PHP. Et d’autres CMS populaires ne sont pas loin derrière. Il est donc logique de transférer des serveurs entiers vers cette version. Mais il y a un hic : les logiciels présents dans les dépôts officiels des distributions Linux ne sont pas pressés d'être mis à jour. Pour installer quelque chose de nouveau, vous devez généralement manipuler des référentiels supplémentaires. Cela ne posera probablement aucun problème si vous utilisez un hébergement virtuel. Mais si vous exécutez des sites Web sur vos propres serveurs ou VPS, vous devez alors vous soucier de la mise à jour et de l'installation de la dernière version de PHP vous-même. Et comme dans 80% des cas le panneau de contrôle ISPmanager 5 est utilisé sur les serveurs, nous parlerons d'y installer PHP 7. Pourquoi est-ce que j'écris à ce sujet et non sur le support du système FAI ? Je ne sais pas, car leur manuel n'en dit rien.

Quelles versions de PHP sont installées par défaut sur les distributions Linux courantes ?

Les hébergeurs proposent généralement le système d'exploitation suivant pour l'installation sur VPS ou Desktop :

Version du système d'exploitation Version PHP par défaut
Debian 7 PHP5.4
Debian 8 PHP5.6
Centos 6 PHP5.3
Centos 7 PHP5.4
Ubuntu 14.04 PHP5.5
Ubuntu 16.04 PHP7.0

Bien sûr, il existe d'autres options ou, au contraire, il se peut qu'il n'y ait rien dans cette liste. Mais presque tous les hébergeurs disposeront des dernières versions – Debian 8, Centos 7 et Ubuntu 16.04. Parmi ces trois, seul le dernier peut se vanter d’avoir PHP 7 installé. Mais il a d'autres problèmes : il est relativement nouveau et peut contenir d'étranges problèmes et bugs. D'après mon expérience, les serveurs Ubuntu peuvent utiliser les versions LTS (même 04) seulement 2 ans après leur sortie. Au minimum, c’est plus facile que de rechercher et d’identifier des problèmes qui, en principe, ne devraient pas exister. J'en ai fait l'expérience à plusieurs reprises avec les performances de certains logiciels dans les dernières versions d'Ubuntu.

À propos des versions d'Ubuntu

À propos des versions d'Ubuntu

En général, je suis un grand fan d'Ubuntu. Parce que j'ai consacré de nombreuses années et de nombreux serveurs à travailler avec. Il s'agit d'un système d'exploitation excellent et pratique pour les sites Web sur votre serveur. Mais il s'agissait du secteur des entreprises, où tout est assemblé, débogué et configuré individuellement. Cependant, lorsque j'ai commencé à travailler avec des serveurs clients webmasters, j'ai été confronté au fait que ni Ubuntu ni même Debian ne sont aussi bons que Centos, et Centos 7 en particulier. Il est également recommandé par les développeurs du panneau de contrôle ISPmanager eux-mêmes. En pratique, sur les systèmes basés sur Deb (Ubuntu en fait également partie), j'ai rencontré quelques problèmes avec ce panneau. Avec les centos, cela n'est presque jamais arrivé.

En général, il s'agit d'une question de facilité d'administration - il n'y a pratiquement aucune différence dans le fonctionnement des logiciels, et notamment des sites Web, entre eux. Aucune différence de performances en tout cas. Mais lors de l’installation et de la configuration du logiciel, la différence peut être assez significative.

Dans Debian et Ubuntu, le logiciel est livré avec quelques paramètres de base une fois installé. Il démarre et fonctionne même immédiatement après l'installation et est ajouté au démarrage. Il n’y a rien de tel à Centos. Les configurations sont par défaut, le logiciel ne démarre pas automatiquement et certaines doivent être configurées au préalable, sinon il ne démarrera tout simplement pas. Par exemple, les mêmes serveurs SGBD - ils sont installés non initialisés. Et ils doivent être initialisés (créer une base de données système) manuellement avant de se lancer.

Le même PHP 7 - il est facile à installer dans centos en ajoutant simplement un référentiel supplémentaire. Au moins dans la 6ème, au moins dans la 7ème version. Dans Ubuntu 14.04 ou Debian, php 7 est également installé à partir des extras. repov. Mais il y est placé parallèlement au talon par défaut. Et pour faire fonctionner Apache, vous en avez besoin de plus. paramètre. Mais en utilisant ISPmanager 5, tout devient beaucoup plus simple.

Installation de PHP 7 sur Centos à partir de référentiels supplémentaires

J'ai déjà utilisé cette méthode. Le fait est que l'opportunité dont je vais parler est apparue relativement récemment dans ISPmanager. Par conséquent, j'ai dû installer PHP 7 uniquement à partir du référentiel Remi. Il y en a d'autres, mais celui-ci est le meilleur. ISPmanager a la possibilité d'installer des versions alternatives de PHP. Mais auparavant, ils ne pouvaient être utilisés qu'en mode CGI. Mais ce mode ne convient pas à tout le monde ni à tous les sites. (). Auparavant, Apache et PHP-FPM utilisaient PHP à l'échelle du système - appelé dans le panneau indigène. Et sa version coïncide exactement avec celles que j'ai données dans le tableau au début de l'article. En particulier, dans Centos 7, ce sera 5.4. Par conséquent, si le natif est mis à jour vers la version requise, Apache fonctionnera dessus. C'est ainsi que cela se faisait auparavant.

Ce n'est pas difficile.

Téléchargez et installez le référentiel Remi :

wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
rpm -Uvh remi-release-7.rpm

Nous autorisons son utilisation :

Dans le fichier /etc/yum.repos.d/remi-php70.repo nécessaire pour le premier navet autoriser la possibilité d'utilisation - activé doit avoir la valeur 1. Par défaut, il y a 0, ce qui signifie que le référentiel n'est pas utilisé. Il existe une autre façon de l'utiliser, en utilisant l'option d'installation du package, mais j'utilise celle-ci car elle est plus facile à retenir et plus compréhensible.

miam, installez -y php

Cela mettra à jour ce même php natif vers la version 7.0. Après la mise à jour, vous pouvez redémarrer le panel pour qu'il « voie » la mise à jour :

/usr/local/mgr5/sbin/mgrctl -m ispmgr sortie

Pour ce faire, arrêtez-le simplement depuis la console comme ceci et entrez à nouveau dans le navigateur. Bon, soit vous n'êtes pas obligé de faire ça, de toute façon, le serveur a déjà PHP 7 et il sera utilisé en mode module Apache ou php-fpm. (D'ailleurs, on peut faire beaucoup de choses depuis la console)

Mais c'est le chemin - ce qu'on appelle la « béquille ». Depuis un certain temps, il ne faut plus l'utiliser.

Activation de PHP 7 en tant que module Apache dans le panneau ISPmanager 5

Depuis avec des mises à jour régulières du panneau, il est devenu possible d'utiliser n'importe quelle version de PHP, parmi celles installées comme alternatives et qui n'étaient auparavant disponibles qu'en mode CGI. Le soi-disant sélecteur de version PHP. Une belle opportunité, je recommande d'utiliser ISPmanager rien que pour cela. Il n’existe nulle part ailleurs une telle commodité et simplicité. C'est moi qui dis, un administrateur qui, sans fausse modestie, a mangé le chien en mettant en place des serveurs sans panels, et maintenant avec des panels. Seulement ici, vous pouvez facilement et simplement définir votre propre version de PHP pour chaque site - de l'ancien 5.2, qui était pertinent alors que je n'avais même pas vraiment commencé à travailler, au plus récent 7.1.

Dans le menu des fonctionnalités, vous devez installer ces mêmes versions alternatives. Après quoi il sera possible d'utiliser le sélecteur pour chaque site, mais uniquement en mode CGI.

Par défaut, les versions alternatives ne sont activées que pour les modes CGI et PHP-FPM (récemment).

Mais vous ne pourrez pas exécuter ces versions tout de suite en mode module Apache. Le bouton correspondant dans le menu PHP est tout simplement inactif.

Pendant assez longtemps, je n'ai pas compris pourquoi il en était ainsi et comment continuer à utiliser cette fonctionnalité. Et j'ai simplement installé la version requise de PHP de Rémy en utilisant la méthode de béquille décrite ci-dessus. Jusqu'à aujourd'hui, j'ai demandé au support : où est-il ? De plus, j'ai d'abord cherché consciencieusement sur Google, trouvé et lu le document officiel sur la configuration des versions PHP et je n'y ai rien trouvé.

Il s'est avéré que la boîte s'ouvrait simplement :

Vous devez double-cliquer sur la version PHP souhaitée dans le menu « Options ». Plus précisément 7.0. Et il existe une option correspondante pour installer cette version de php en tant que module Apache.

Ensuite, nous revenons à la section PHP et là, le bouton devient actif pour la version souhaitée.

Bon, ici je suis déjà passé à la version 7, j'affiche donc le bouton actif sur la version native 5.4.

Toute cette méthode ci-dessus devrait fonctionner à la fois sur Debian et Ubuntu. Je ne l'ai pas encore testé en pratique. Veuillez vérifier et répondre. Mais la méthode « béquille » dans ces OS sera encore plus béquille que dans Centos, car là-bas PHP 7 est installé en parallèle avec la version 5 et le système se retrouve avec DEUX versions de PHP natif. Et ici, j'aimerais le comprendre avec un :) C'est pourquoi je recommande les centos.

Activer une version alternative de PHP 7 pour le mode NGINX+PHP-FPM dans ISPmanager 5

Tout est assez simple ici. Après avoir installé la version alternative, elle sera installée par défaut pour PHP-FPM. Activez simplement la version souhaitée dans les paramètres utilisateur :

Après cela, tous les sites en mode PHP-FPM pour cet utilisateur fonctionneront en php7.

Comment vérifier la version PHP d'un site spécifique et où trouver ses paramètres, fichier php.ini ?

Parfois, si vous utilisez plusieurs versions de PHP sur le serveur, vous pouvez avoir des doutes sur le fait que vous utilisez exactement la version souhaitée. C’est également une bonne idée de vérifier la présence/absence des modules requis. Ou le mode de fonctionnement de PHP - qu'il s'agit d'un module Apache, et non d'un cgi. Un moyen fiable et 100 % efficace de vérifier cela consiste à ajouter le fichier info.php à la racine du site souhaité. Son contenu devrait être comme ceci :

phpinfo(INFO_MODULES);

Allez ensuite sur site.com/info.php et consultez une liste complète des questions sur lesquelles vous aviez des doutes :

De plus, veuillez noter que le fichier de configuration principal de la version alternative de PHP ainsi activée n'est pas du tout là où vous l'attendez. Cela peut parfois conduire à de longues recherches et à un manque de compréhension de la raison pour laquelle tel ou tel paramètre de la configuration PHP ne peut pas être modifié. Vous le recherchez dans /etc/php.ini, mais le site utilise PHP configuré à un endroit complètement différent.

Utilisez phpinfo dans toute situation peu claire, cela peut vous éviter une perte de temps et de nerfs considérable.

Bon, c'est tout pour moi, nous avons réglé la partie administrative pratique. Ensuite, un peu de philosophie.

Pourquoi avez-vous besoin d’utiliser PHP 7 ?

Qui diable sait. Je ne suis pas développeur, je n'en comprends pas tous les charmes. Cependant, il a été remarqué qu'il exécute le code beaucoup plus rapidement que les anciennes versions. Voici les résultats donnés en testant le fonctionnement de Drupal sur PHP7 dans l'étude probablement bien connue de PHP 7 et des caches sur Habré :

Comme vous pouvez le constater, c'est presque 2 fois plus rapide que les versions précédentes. Par exemple, sur un serveur de référence avec un SSD, une référence WordPress vide affichera environ 400 à 500 millisecondes de TTFB. Mais sur PHP 7 avec l'accélérateur opcache wp activé et configuré, il peut fonctionner avec un temps de réponse de 150 à 250 ms. Ou peut-être que ça ne marchera pas :) Parce que vous pouvez y mettre un putain de modèle miracle-premium provenant d'un monstre de modèle, puis vous demander pourquoi le chargement prend 3 à 5 secondes (ce n'est que du TTFB, mais visuellement, il y en a tous les 10). -20 Peut-être). Et aussi me sentir idiot, car sur la démo des développeurs, tout vole, ça s'ouvre en 100-200 ms. Vous ne réalisez pas que tout est mis en cache, ils n'ont pas besoin de vous pour interagir d'une manière ou d'une autre avec le site, ils ont juste besoin de vous le vendre 🙂 Et ce wordpress lui-même ne participe même pas à la génération des pages - tout est fait par nginx, et cela vient du cache instantanément. Mais c'est ainsi, une digression lyrique d'un sujet sensible.

En général, une bonne quantité d'expérience s'est accumulée sur le thème de l'optimisation et de l'accélération du temps de réponse, et un jour je la répandrai probablement sur votre tête, mes chers lecteurs :) De plus, l'optimisation et l'accélération des rédacteurs d'articles sont une chose , j'ai déjà écrit quelque chose à ce sujet. Mais le sujet de l'optimisation des boutiques et des services en ligne est une conversation à part, et je pense qu'elle devrait être particulièrement intéressante. Donc?

PHP est un langage de script à usage général principalement utilisé dans le développement d'applications Web.

Installation

L'interpréteur PHP se décline en plusieurs variantes pour différents modes de lancement de l'interpréteur.

CLI

Pour installer PHP-CLI, exécutez :

sudo apt-get install php5-cli

Image de synthèse

Pour installer PHP - CGI, exécutez :

sudo apt-get install php5-cgi

RapideCGI

Pour installer PHP -FPM, exécutez :

sudo apt-get install php5-fpm

Module pour Apache

À partir de la version Ubuntu Saucy (13.10), PHP est installé sur le système avec Zend OPcache préinstallé.

N'installez pas plusieurs accélérateurs PHP à la fois, cela ne donnera aucun résultat.

Cache PHP alternatif

Depuis le paquet Ubuntu Saucy (13.10) php-apc n'installe pas l'opcode cacher, mais installe le package php-apcu avec une partie de la fonctionnalité (mise en cache des données utilisateur).

Apt-get installer php-apc

Fichier de paramètres /etc/php5/apache2/conf.d/apc.ini.

extension = apc.so realpath_cache_size = 4096k apc.max_file_size= 4M apc.shm_size= 128M apc.mmap_file_mask= /tmp/apc.XXXXXX apc.ttl= 3600 apc.user_ttl= 3600 apc.gc_ttl= 3600

XCACHE

Apt-get installe php-xcache

Fichier de paramètres /etc/php5/apache2/conf.d/xcache.ini.

realpath_cache_size = 4096 Ko xcache.size = 40 Mo xcache.slots = 8 Ko xcache.ttl = 3600

Vous pouvez également préciser le nombre de cœurs de votre processeur :

Xcache.count= 2

Installer un serveur web sous Linux :

  • Si vous possédez Ubuntu, alors l'article « Comment installer le serveur Web Apache avec PHP 7, MariaDB/MySQL et phpMyAdmin (LAMP) sur Ubuntu 16.10 » vous convient.
  • Si vous disposez d'Arch Linux, alors l'article « Installer LAMP (Linux, Apache, MySQL/MariaDB, PHP7 et phpMyAdmin) sur Arch Linux / BlackArch » vous convient.

Le serveur local est un outil très utile. Il sera certainement utile aux webmasters, aux programmeurs PHP et aux testeurs d'intrusion. Tous les programmes inclus dans une installation typique de serveur Web sont gratuits et open source. Un serveur Web local consomme un minimum de ressources et n'est en réalité pas difficile à installer et à configurer.

Cette instruction vous expliquera comment installer un serveur Web local sans utiliser d'assemblys prêts à l'emploi. Cette méthode a ses avantages. Les plus importants d'entre eux sont : un contrôle total sur ce que vous installez ; capacité à utiliser les dernières versions des logiciels.

Si vous suivez exactement les instructions, alors tout fonctionnera certainement pour vous ! Sauf pour ceux qui possèdent Windows XP - si vous disposez de ce système d'exploitation, des instructions spéciales ont été rédigées pour vous.

Je vais montrer un exemple d'installation sur Windows 10, mais si vous disposez d'une version différente de Windows, ne vous laissez pas déranger, la procédure est identique partout. Je téléchargerai les dernières versions (les plus récentes) des programmes au moment de la rédaction. Si au moment où vous lisez, de nouvelles versions seront publiées, téléchargez-les.

Étapes d'installation :

Cela peut également vous être utile :

1. Préparation (téléchargement des programmes inclus dans le serveur, création de la structure du serveur)

Nous avons besoin:

  • Apache(directement serveur web)
  • PHP- environnement pour exécuter des programmes PHP (requis par presque tous les sites Web)
  • MySQL- système de gestion de base de données (requis par la plupart des sites Web)
  • phpMonAdmin- un outil très pratique pour la gestion de bases de données

Le site officiel des développeurs Apache est httpd.apache.org. Vous pouvez télécharger Apache à partir de ce site. Mais la version officielle est construite à l'aide d'un ancien compilateur, pour cette raison elle ne fonctionne pas avec les nouvelles versions de PHP. Les auteurs PHP recommandent Apache sur apachelounge.com/download. Par conséquent, pour cette instruction, nous téléchargeons Apache depuis le site apachelounge.com/download.

Si vous disposez d'une version 64 bits de Windows, vous pouvez choisir les versions 64 bits et 32 ​​​​bits des composants. La règle principale est que tous les composants doivent avoir la même taille de bits. Si vous disposez d'une version 32 bits de Windows, tous les composants doivent être en 32 bits. Cela ne s'applique pas à phpMyAdmin, qui est écrit en PHP. Pour les programmes PHP, la notion de profondeur de bits n'est pas applicable.

La version gratuite de MySQL s'appelle Serveur communautaire MySQL. Il peut être téléchargé sur la page. Il existe un programme d'installation exécutable sur cette même page, mais je recommande de télécharger l'archive ZIP. Sur la page de téléchargement, il nous est demandé de nous inscrire ou de nous connecter à un compte existant - mais ce n'est pas nécessaire. Cliquez simplement sur ce lien " Non merci, je lance juste mon téléchargement" Faites attention à la profondeur de bits.

Nous avons également besoin du fichier Visual Studio 2017 redistribuable C++, c'est-à-dire Composant redistribuable Visual C++ pour Visual Studio 2017 (ou tout autre version ultérieure), vous pouvez le télécharger sur le site officiel de Microsoft en utilisant le lien (lien direct pour télécharger la version 64 bits ; lien direct pour télécharger la version 32 bits). Ce fichier est nécessaire pour le serveur Web. Et MySQL nécessite les packages redistribuables Visual C++ pour Visual Studio 2015. Il peut être téléchargé à partir de .

J'ai donc téléchargé les fichiers suivants :

  • httpd-2.4.29-Win64-VC15.zip
  • php-7.2.0-Win32-VC15-x64.zip
  • mysql-8.0.11-winx64.zip
  • phpMyAdmin-4.7.6-toutes-langues.zip
  • vc_redist.x64.exe
  • vcredist_x64.exe

Installer des fichiers vc_redist.x64.exe Et vcredist_x64.exe.

2. Créez une structure de serveur Web

Créons la structure de répertoires de notre serveur. L'idée principale est de séparer les fichiers exécutables et les fichiers de sites Web avec des bases de données. Ceci est pratique pour la maintenance du serveur, y compris les sauvegardes.

A la racine du disque C:\ créer un répertoire Serveur. Dans ce répertoire, créez 2 sous-répertoires : poubelle(pour les fichiers exécutables) et données.

Allez dans l'annuaire données et créez-y des sous-dossiers D.B.(pour les bases de données) et htdocs(pour les sites Web).

Allez dans l'annuaire C:\Serveur\données\DB\ et créez-y un dossier vide données.

3. Installation d'Apache 2.4

Le contenu de l'archive téléchargée (plus précisément, uniquement le répertoire Apache24), déballer dans C:\Serveur\bin\.

Allez dans l'annuaire c:\Serveur\bin\Apache24\conf\ et ouvrez le fichier httpd.conf n’importe quel éditeur de texte.

Dans celui-ci, nous devons remplacer un certain nombre de lignes.

Définir SRVROOT "c:/Apache24"

Définir SRVROOT "c:/Server/bin/Apache24"

#ServerName www.exemple.com:80

Nom du serveur hôte local

DocumentRoot "$(SRVROOT)/htdocs"

DocumentRoot "c:/Serveur/data/htdocs/"

DirectoryIndex index.html

AnnuaireIndex index.php index.html index.htm

# AllowOverride contrôle quelles directives peuvent être placées dans les fichiers .htaccess. # Il peut s'agir de "Tous", "Aucun" ou de toute combinaison de mots-clés : # AllowOverride FileInfo AuthConfig Limit # AllowOverride None

# AllowOverride contrôle quelles directives peuvent être placées dans les fichiers .htaccess. # Il peut s'agir de "Tous", "Aucun" ou de toute combinaison de mots-clés : # AllowOverride FileInfo AuthConfig Limit # AllowOverride All

#LoadModule rewrite_module modules/mod_rewrite.so

LoadModule rewrite_module modules/mod_rewrite.so

Enregistrez et fermez le fichier. Ça y est, la configuration d'Apache est terminée ! Une description de chaque directive modifiée peut être trouvée sur cette page.

Ouvrez la ligne de commande (cela peut être fait en appuyant simultanément sur les touches Win+X). Sélectionnez-y Windows PowerShell (Administrateur) et copiez-y :

C:\Serveur\bin\Apache24\bin\httpd.exe -k install

Si une demande est reçue du pare-feu pour Apache, cliquez sur Autoriser.

Entrez maintenant dans la ligne de commande :

C:\Serveur\bin\Apache24\bin\httpd.exe -k start

Et appuyez sur Entrée.

Entrez root comme nom d'utilisateur. Laissez le champ du mot de passe vide. Si tout est fait correctement, alors tout devrait ressembler à ceci :

7. Utilisation du serveur et sauvegarde des données

Dans le catalogue c:\Serveur\données\htdocs\ créer des dossiers et des fichiers, par exemple :

c:\Server\data\htdocs\test\ajax.php - ce fichier sera donc disponible sur http://localhost/test/ajax.php, etc.

Pour créer une sauvegarde complète de tous les sites et bases de données, copiez simplement le répertoire C:\Serveur\données\.

Avant de mettre à jour les modules, faites une sauvegarde du dossier poubelle- en cas de problème, vous pouvez facilement revenir aux versions précédentes.

Lors de la réinstallation du serveur ou de sa mise à jour, vous devez reconfigurer les fichiers de configuration. Si vous disposez de copies de ces fichiers, le processus peut être considérablement accéléré. Il est conseillé de sauvegarder les fichiers suivants :

  • c:\Serveur\bin\Apache24\conf\httpd.conf
  • c:\Serveur\bin\mysql-8.0\my.ini
  • c:\Serveur\bin\PHP\php.ini
  • c:\Serveur\data\htdocs\phpMyAdmin\config.inc.php

Tous les paramètres y sont stockés.

8. Configuration PHP supplémentaire

PHP est désormais un outil très puissant, flexible et convivial. Sur un ordinateur local, vous pouvez l'utiliser pour résoudre diverses tâches qui ne sont pas nécessairement liées à la génération de pages Web. Lors de la résolution de problèmes extraordinaires, vous pouvez rencontrer des restrictions définies dans les paramètres. Ces paramètres sont contenus dans le fichier php.ini (c:\Server\bin\PHP\php.ini). Voyons quelques-uns d'entre eux :

Limite_mémoire = 128 Mo

définit la quantité maximale de mémoire qu'un script peut utiliser

Post_max_size = 8M

définit la quantité maximale de données qui seront acceptées lors de l'envoi à l'aide de la méthode POST

;default_charset = "UTF-8"

définit l'encodage (par défaut, la ligne est commentée)

Upload_max_filesize = 2 Mo

la taille maximale d'un fichier téléchargé sur le serveur. La taille est initialement définie sur une très petite taille - seulement deux mégaoctets. Par exemple, lors du chargement d'une base de données dans phpMyAdmin, vous ne pourrez pas télécharger un fichier de plus de 2 mégaoctets tant que cet élément de paramètre n'est pas modifié.

Max_file_uploads = 20

nombre maximum de fichiers à télécharger en même temps

Max_execution_time = 30

temps d'exécution maximum pour un script

La modification de ces paramètres est totalement facultative, mais il est utile de les connaître.

9. Paramètres supplémentaires pour phpMyAdmin

Nous avons déjà configuré phpMyAdmin et pour la plupart des gens, les fonctionnalités de base suffisent. Cependant, sur la page de démarrage de phpMyAdmin, il y a un message : « Les fonctionnalités supplémentaires de phpMyAdmin ne sont pas entièrement configurées, certaines fonctions ont été désactivées. »

Les nouvelles fonctionnalités sont :

  • montrer les relations entre les tables (liées);
  • ajout d'informations sur les tables (à partir de la version 2.3.0, vous pouvez décrire dans un tableau spécial « table_info » quelle colonne sera affichée dans l'info-bulle lorsque vous déplacez le curseur sur la clé associée) ;
  • créer un diagramme PDF (à partir de la version 2.3.0, vous pouvez créer des pages PDF dans phpMyAdmin montrant les relations entre vos tables) ;
  • afficher les commentaires des colonnes (depuis la version 2.3.0 vous pouvez faire un commentaire décrivant chaque colonne pour chaque tableau. Et ils seront visibles dans "l'aperçu avant impression". Depuis la version 2.5.0, les commentaires sont utilisés sur les pages propres des tableaux et dans le mode vue, apparaissant sous forme d'info-bulles au-dessus des colonnes (tables de propriétés) ou intégrés dans l'en-tête du tableau en mode vue. Ils peuvent également être affichés dans le dump de la table) ;
  • créer des favoris (depuis la version 2.2.0, phpMyAdmin permet aux utilisateurs de mettre des requêtes en favoris. Cela peut être utile pour les requêtes fréquemment utilisées) ;
  • historique des requêtes SQL (à partir de la version 2.5.0, vous pouvez enregistrer votre historique de toutes les requêtes SQL effectuées via l'interface phpMyAdmin) ;
  • designer (à partir de la version 2.10.0, l'outil Designer est disponible ; il permet de gérer visuellement les relations entre les tables) ;
  • des informations sur les tables récemment utilisées ;
  • personnaliser l'interface des tableaux fréquemment utilisés ;
  • suivi (à partir de la version 3.3.x, un mécanisme de suivi est disponible. Il vous aide à suivre chaque commande SQL exécutée par phpMyAdmin. L'enregistrement de la manipulation des données et l'enregistrement des commandes sont pris en charge. Une fois activé, vous pourrez versionner les tables) ;
  • paramètres utilisateur (à partir de la version 3.4.x, phpMyAdmin permet aux utilisateurs de définir la plupart des paramètres et de les enregistrer dans la base de données) ;
  • menus personnalisés (à partir de la version 4.1.0, vous pouvez créer des groupes d'utilisateurs qui n'auront accès qu'aux éléments de menu attribués. Un utilisateur peut être affecté à un groupe et ne verra que les éléments de menu disponibles pour son groupe) ;
  • masquer/afficher les éléments de navigation (à partir de la version 4.1.0, vous pouvez masquer/afficher les éléments dans l'arborescence de navigation).
  • et d'autres

Nous allons maintenant configurer entièrement ces fonctionnalités supplémentaires. Allez sur le lien http://localhost/phpmyadmin/chk_rel.php et cliquez sur "Créer une base de données". Après cela, toutes les nouvelles fonctionnalités seront activées.

Quelques captures d'écran des nouvelles fonctionnalités :

1) Concepteur

2) Suivi

10. Installation d'une prise mail

Dans le répertoire C:\Server\bin\, créez un nouveau répertoire appelé Sendmail. Maintenant dans ce répertoire créez un fichier sendmail.php avec le contenu suivant :

#!/usr/bin/envphp

Ouvrez le fichier de configuration PHP, il se trouve ici C:\Serveur\bin\PHP\php.ini. Et ajoutez-y une ligne :

Sendmail_path = "C:\Server\bin\PHP\php.exe C:\Server\bin\Sendmail\sendmail.php --dir C:\Server\bin\Sendmail\emails"

Enregistrez le fichier et redémarrez le serveur. Super, désormais tous les e-mails envoyés seront enregistrés dans le répertoire C:\Serveur\bin\Sendmail\emails\

Les lettres auront l'extension .eml et ils peuvent être ouverts, par exemple, par le programme Oiseau-tonnerre. Ou un éditeur de texte classique.

11. Ajout d'un répertoire PHP à PATH sous Windows

Si cela n'est pas fait, il peut y avoir des problèmes avec certains modules PHP, notamment php_curl.dll, php_intl.dll, php_ldap.dll, php_pdo_pgsql.dll et php_pgsql.dll. Au moins, à chaque démarrage du serveur, les éléments suivants apparaissent dans les journaux :

Avertissement PHP : Démarrage PHP : Impossible de charger la bibliothèque dynamique "C:\\Server\\bin\\PHP\\ext\\php_curl.dll" - \xef\xbf\xbd\xef\xbf\xbd \xef\xbf\ xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\ xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\ xbf\xbd\xef\xbf\xbd.\r\n dans Inconnu sur la ligne 0 Avertissement PHP : Démarrage PHP : Impossible de charger la bibliothèque dynamique "C:\\Server\\bin\\PHP\\ext\\php_intl.dll " - \xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef \xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.\r\n dans Inconnu en ligne 0 Avertissement PHP : Démarrage PHP : Impossible de charger la bibliothèque dynamique " C:\\Server\\bin\\PHP\\ext\\php_ldap.dll" - \xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\ xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\ xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.\r \n dans Inconnu en ligne 0 Avertissement PHP : Démarrage PHP : Impossible de charger la bibliothèque dynamique "C:\\Server\\bin\\PHP\\ext\\php_pdo_pgsql.dll" - \xef\xbf\xbd\xef\xbf \xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef \xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.\r\n dans Inconnu sur la ligne 0 PHP Attention : Démarrage PHP : Impossible de charger la bibliothèque dynamique "C:\\Server\\bin\\PHP\ \ext\\php_pgsql.dll" - \xef\xbf\xbd\xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\ xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\ xef\xbf\xbd \xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd.\r\n dans Inconnu sur la ligne 0

Pour éviter ces avertissements, vous devez ajouter le chemin d'accès à PHP aux variables d'environnement de votre système.

Cliquez sur le bouton Démarrer (ou quel que soit son nom sous Windows 10 ?), commencez à taper " Modification des variables d'environnement système» et ouvrez la fenêtre de paramètres correspondante.

Là, cliquez sur " Variables d'environnement»:

Dans la fenêtre " Variables système» recherchez et cliquez sur Chemin, puis clique " Changement»:

Déplacez l'entrée vers le haut :

Fermez toutes les fenêtres et enregistrez vos modifications.

Redémarrez le serveur.

12. Gel, ralentissement du trafic et/ou erreur de serveur Échec d'AcceptEx asynchrone

Si votre serveur « se fige » même sans charge, il n'affiche pas les pages Web jusqu'au redémarrage, et dans les journaux du serveur, il y a des erreurs d'échec d'Asynchronous AcceptEx :

AH00455 : Apache/2.4.9 (Win64) PHP/5.5.13 configuré -- reprise des opérations normales AH00456 : Serveur Apache Lounge VC11 construit : 16 mars 2014 12:42:59 AH00094 : Ligne de commande : "c:\\Server\\ bin\\Apache24\\bin\\httpd.exe -d C:/Server/bin/Apache24" AH00418 : Parent : processus enfant créé 4952 AH00354 : Enfant : démarrage de 64 threads de travail. (OS 64)Le nom de réseau spécifié n'est plus disponible. : AH00341 : winnt_accept : échec d'AcceptEx asynchrone. (OS 64)Le nom de réseau spécifié n'est plus disponible. : AH00341 : winnt_accept : échec d'AcceptEx asynchrone. (OS 64)Le nom de réseau spécifié n'est plus disponible. : AH00341 : winnt_accept : échec d'AcceptEx asynchrone. (OS 64)Le nom de réseau spécifié n'est plus disponible. : AH00341 : winnt_accept : échec d'AcceptEx asynchrone. (OS 64)Le nom de réseau spécifié n'est plus disponible. : AH00341 : winnt_accept : échec d'AcceptEx asynchrone. (OS 64)Le nom de réseau spécifié n'est plus disponible. : AH00341 : winnt_accept : échec d'AcceptEx asynchrone.

Ajoutez ensuite au fichier de configuration Apache :

AcceptFilter http aucun AcceptFilter https aucun EnableSendfile désactivé EnableMMAP désactivé

13. Configuration de cURL dans le serveur Web Apache sous Windows

Si vous ne savez pas ce qu'est cURL, vous n'en avez pas besoin. Ceux. N'hésitez pas à sauter cette étape.

cURL est un utilitaire de console qui permet d'échanger des données avec des serveurs distants en utilisant un très grand nombre de protocoles. cURL peut utiliser des cookies et prend en charge l'authentification. Si une application Web nécessite cURL, cela doit être spécifié dans les dépendances. De nombreuses applications populaires ne nécessitent pas cURL, par exemple phpMyAdmin et WordPress n'ont pas besoin de configurer cURL.

Si cURL n'est pas configuré correctement, vous recevrez des erreurs :

Erreur fatale : appel à une fonction non définie curl_multi_init() dans...

erreur curl : problème de certificat SSL : impossible d'obtenir le certificat de l'émetteur local

Pour que cURL fonctionne dans Apache sous Windows, vous avez besoin de :

1) Assurez-vous d'ajouter le répertoire PHP au PATH (variables d'environnement système). Comment procéder est indiqué juste au-dessus :

2) Dans un fichier C:\Serveur\bin\PHP\php.ini la ligne ne doit pas être commentée extension = boucle

Ce n'est généralement pas obligatoire, mais vous pouvez faire une copie de sauvegarde des fichiers binaires (exécutables) du serveur si vous le souhaitez. Tous ces fichiers se trouvent dans le dossier C:\Serveur\bin\. Ce sont Apache, MySQL et PHP - c'est-à-dire programmes qui sont responsables du fonctionnement du serveur, mais que nous pouvons télécharger depuis les sites officiels et reconfigurer à tout moment.

Si vous souhaitez en faire une copie de sauvegarde (par exemple, avant de mettre à niveau le serveur), alors arrêtez les services :

C:\Serveur\bin\Apache24\bin\httpd.exe -k stop net stop mysql

Et copiez le dossier dans un endroit sûr C:\Serveur\bin\.

À propos, vous pouvez copier l'intégralité du serveur, c'est-à-dire dossier C:\Serveur\- dans ce cas, vous obtiendrez simultanément une copie de sauvegarde des fichiers exécutables et des données (bases de données, sites Web).

Une fois la copie terminée, redémarrez les services :

C:\Serveur\bin\Apache24\bin\httpd.exe -k start net start mysql

15. Mise à jour du serveur

Tous les composants qui composent le serveur Web sont activement développés et de nouvelles versions sont régulièrement publiées. Lorsqu'une nouvelle version est publiée, vous pouvez mettre à jour un composant (par exemple PHP) ou plusieurs à la fois.

17. Rien ne fonctionne pour moi

Ce manuel est régulièrement révisé et testé avec les derniers composants. Étant donné que les instructions sont volumineuses, des erreurs peuvent survenir du fait que vous avez manqué quelque chose ou que vous avez mal fait quelque chose. Tout d’abord, essayez de tout supprimer et de tout recommencer.

Au cours des années d'existence de ce manuel, de nombreuses erreurs typiques qui se produisent sur un serveur Web ont été collectées ; toutes, ainsi que les solutions aux problèmes, sont décrites sur une page séparée " Erreurs lors de la configuration et de l'installation d'Apache, PHP, MySQL/MariaDB, phpMyAdmin" Il explique également comment décrire correctement votre problème afin qu'ils puissent vous aider à le résoudre.

Si quelque chose ne fonctionne pas pour vous, veuillez rechercher cette page d'erreur avant de poser une question dans les commentaires. Pour ce faire, vous pouvez utiliser Ctrl+F dans votre navigateur et rechercher une partie de la ligne d'erreur.

Une erreur rare se produit car un autre programme écoute déjà sur le port 80. Pour déterminer si le port 80 est déjà occupé, procédez comme suit :

1) appuyez sur la combinaison de touches WIN + x

2) dans la liste qui s'ouvre, sélectionnez « Windows PowerShell (administrateur) »

3) faites là :

Cmd pour /f "tokens=1,2,3,4,5*" %i dans ("netstat -aon ^| findstr ":80" ^| findstr /i écoute") do echo %j %l & @tasklist | trouverstr %m

Si un programme est déjà bloqué sur le port 80, vous le verrez.

Supprimer un serveur

Si vous n'avez plus besoin du serveur, ou si vous souhaitez l'installer à nouveau, arrêtez les services et supprimez-les du démarrage automatique en exécutant séquentiellement sur la ligne de commande :

C:\Server\bin\Apache24\bin\httpd.exe -k stop c:\Server\bin\Apache24\bin\httpd.exe -k désinstaller net stop mysql c:\Server\bin\mysql-8.0\bin\ mysqld --supprimer

Supprimez les fichiers du serveur ; pour cela, supprimez le dossier C:\Serveur\. Attention, cela supprimera toutes les bases de données et vos sites.

Comment protéger votre serveur Web Apache contre le piratage sous Windows

Avec PHP (avec choix de versions), avec MySQL et phpMyAdmin. Ce site est hébergé exactement sur celui-ci : support technique réactif et qualifié, installation de WordPress et autres applications web en un clic,


Fermer