Maison base de données Redis Comment implémenter le basculement maître-esclave en mode sentinelle Redis

Comment implémenter le basculement maître-esclave en mode sentinelle Redis

Dec 16, 2019 pm 05:51 PM
redis

Comment implémenter le basculement maître-esclave en mode sentinelle Redis

Redis Sentinel est un système distribué. Vous pouvez exécuter plusieurs processus Sentinel (progression) dans une seule architecture. Ces processus utilisent des protocoles de potins pour recevoir des informations indiquant si le serveur principal est hors ligne. utilise des protocoles d'accord pour décider s'il faut effectuer un basculement automatique et quel serveur esclave sélectionner comme nouveau serveur maître.

Bien que Redis Sentinel soit publié sous la forme d'un fichier exécutable distinct redis-sentinel, il s'agit en fait simplement d'un serveur Redis fonctionnant dans un mode spécial. Vous pouvez démarrer un serveur Redis normal en donnant l'option - -sentinel pour démarrer Redis Sentinel. .

Le système Sentinel est utilisé pour gérer plusieurs serveurs Redis (instances). Le système effectue les trois tâches suivantes :

1. Surveillance : Sentinel vérifiera en permanence votre serveur principal et s'il s'agit d'un serveur esclave. fonctionne normalement.

2. Notification : en cas de problème avec un serveur Redis surveillé, Sentinel peut envoyer des notifications à l'administrateur ou à d'autres applications via l'API.

3. Basculement automatique : lorsqu'un serveur maître ne fonctionne pas correctement, Sentinel démarre une opération de basculement automatique. Il met à niveau l'un des serveurs esclaves du serveur maître défaillant vers le nouveau serveur maître. les autres serveurs esclaves du serveur maître défaillant changent pour répliquer le nouveau serveur maître ; lorsque le client tente de se connecter au serveur maître défaillant, le cluster renvoie également l'adresse du nouveau serveur maître au client, afin que le cluster puisse l'utiliser. le nouveau serveur maître Remplace un serveur défaillant.

Configuration

Lorsque le maître tombe en panne, l'esclave prend le relais et devient le nouveau maître. Le maître en panne devient automatiquement l'esclave après son démarrage. est un double maître avec Mysql. Le mode est le même que celui de redis sentinel mutuel ; il doit utiliser le programme redis-sentinel et le fichier de configuration sentinel.conf.

mkdir -p /usr/local/redis
mkdir -p /usr/local/redis/6379
mkdir -p /usr/local/redis/6380
mkdir -p /usr/local/redis/redis_cluster
Copier après la connexion

Configuration principale

vim redis_6379.conf

daemonize yes
pidfile /usr/local/redis/6379/redis_6379.pid
port 6379
tcp-backlog 128
timeout 0
tcp-keepalive 0
loglevel notice
logfile ""
databases 16
save 900 1    ###save
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb   ###dbfile
dir "/usr/local/redis/6379"
masterauth "123456"
requirepass "123456"
slave-serve-stale-data yes
slave-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-disable-tcp-nodelay no
slave-priority 100
appendonly yes
appendfilename "appendonly.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
lua-time-limit 5000
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-entries 512
list-max-ziplist-value 64
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
aof-rewrite-incremental-fsync yes
Copier après la connexion

vim sentinel_1.conf

Configuration du fichier Sentinel

port 6000
dir "/usr/local/redis/sentinel"
# 守护进程模式
daemonize yes
protected-mode no
logfile "/usr/local/sentinel/sentinel.log"
Copier après la connexion

Configuration esclave

vim redis_6380.conf

daemonize yes
pidfile "/usr/local/redis/6380/redis_6380.pid"
port 6380
tcp-backlog 128
timeout 0
tcp-keepalive 0
loglevel notice
logfile ""
databases 16
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename "dump.rdb"
dir "/usr/local/redis/6380"
masterauth "123456"
requirepass "123456"
slave-serve-stale-data yes
slave-read-only yes
repl-diskless-sync no
repl-diskless-sync-delay 5
repl-disable-tcp-nodelay no
slave-priority 100
appendonly yes
appendfilename "appendonly.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
lua-time-limit 5000
slowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-entries 512
list-max-ziplist-value 64
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
hll-sparse-max-bytes 3000
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
aof-rewrite-incremental-fsync yes
Copier après la connexion

vim sentinel_2.conf

#sentinel端口
port 6000
#工作路径,注意路径不要和主重复
dir "/usr/local/sentinel"
# 守护进程模式
daemonize yes
protected-mode no
# 指明日志文件名
logfile "/usr/local/sentinel/sentinel.log"
Copier après la connexion

Remarque :

1. Port, connectez-vous à une réplique principale spécifique en spécifiant un nom de maître différent.

2. Dans le fichier de configuration de Sentinel, il vous suffit de configurer l'adresse IP et le port de la réplique principale dans la réplication maître-esclave. Lorsque le maître-esclave bascule, Sentinel modifiera automatiquement l'adresse IP de la réplique principale dans Sentinel. fichier de configuration vers la nouvelle réplique principale ip.

3. Un fichier de configuration sentinelle peut être configuré pour surveiller plusieurs réplications maître-esclave en même temps.

4. Une seule sentinelle peut être utilisée pour la surveillance des défauts maître-esclave, mais s'il n'y a qu'un seul processus sentinelle, si ce processus ne s'exécute pas correctement ou si le réseau est bloqué, alors le basculement maître-esclave du le cluster redis ne sera pas possible (une seule question) ;Ce 2 représente le nombre de votes. Lorsque deux sentinelles estiment qu'un maître n'est plus disponible, un basculement sera déclenché, et le maître pourra alors véritablement être considéré comme étant disponible. être indisponible. (Chaque sentinelle du cluster sentinelle communique également entre elles via le protocole gossip) ; par conséquent, une configuration raisonnable devrait consister à démarrer plusieurs processus sentinelles en même temps, et il est préférable de les démarrer sur des serveurs différents.

5. Notez que mymaster doit être unique dans l'ensemble de l'environnement réseau. Les Sentinelles établiront automatiquement des relations via mastername tant que l'environnement réseau est connecté.

Démarrez redis

1. Le maître et l'esclave doivent être démarrés

src/redis-server redis.conf
Copier après la connexion

2 Connectez-vous à 6380 pour établir une relation maître-esclave

redis-cli -p 6380
slaveof 192.168.137.40 6379
Copier après la connexion
.

Configurer Sentinel

Les deux sentinelles, maître et esclave, doivent être démarrées. Elles peuvent également être démarrées via redis-server, tel que "redis-server sentinel.conf --sentinel"

<🎜. >1. Démarrez la sentinelle

src/redis-sentinel sentinel.conf
Copier après la connexion

2. Connectez-vous à Sentinel (les deux Sentinelles doivent se connecter pour s'exécuter), ajoutez des informations de surveillance maître-esclave

redis-cli -p 6000


sentinel monitor mymaster 192.168.137.40 6379 2
sentinel set mymaster down-after-milliseconds 5000
sentinel set mymaster failover-timeout 15000
sentinel set mymaster auth-pass 123456
Copier après la connexion

Démarrer le traitement de l'erreur

Erreur 1 :

AVERTISSEMENT overcommit_memory est défini sur 0 ! La sauvegarde en arrière-plan peut échouer en cas de mémoire insuffisante. Pour résoudre ce problème, ajoutez 'vm. overcommit_memory = 1' dans /etc/sysctl.conf puis redémarrez ou exécutez la commande 'sysctl vm.overcommit_memory=1' pour que cela prenne effet.

Deux solutions (overcommit_memory)

1. echo "vm.overcommit_memory=1" > ; /etc/sysctl.conf ou vi /etcsysctl.conf , puis redémarrez la machine

2. /overcommit_memory Il prendra effet sans démarrer la machine

Description du paramètre overcommit_memory :

Définir la politique d'allocation de mémoire (facultatif, défini en fonction de la situation réelle du serveur)

/proc/sys/vm/overcommit_memory

Valeurs facultatives : 0, 1, 2.

0, indique que le noyau vérifiera s'il y a suffisamment de mémoire disponible pour que le processus d'application puisse l'utiliser ; s'il y a suffisamment de mémoire disponible, l'application de mémoire est autorisée, sinon l'application de mémoire échoue et une erreur est générée ; retourné au processus de candidature.

1, indique que le noyau permet d'allouer toute la mémoire physique quel que soit l'état actuel de la mémoire.

2, indiquant que le noyau est autorisé à allouer plus de mémoire que la somme de toute la mémoire physique et de l'espace d'échange

注意:redis在dump数据的时候,会fork出一个子进程,理论上child进程所占用的内存和parent是一样的,比如parent占用 的内存为8G,这个时候也要同样分配8G的内存给child,如果内存无法负担,往往会造成redis服务器的down机或者IO负载过高,效率下降。所 以这里比较优化的内存分配策略应该设置为 1(表示内核允许分配所有的物理内存,而不管当前的内存状态如何)。

这里又涉及到Overcommit和OOM。

什么是Overcommit和OOM

在Unix中,当一个用户进程使用malloc()函数申请内存时,假如返回值是NULL,则这个进程知道当前没有可用内存空间,就会做相应的处理工作。许多进程会打印错误信息并退出。

Linux使用另外一种处理方式,它对大部分申请内存的请求都回复"yes",以便能跑更多更大的程序。因为申请内存后,并不会马上使用内存。这种技术叫做Overcommit。

当内存不足时,会发生OOM killer(OOM=out-of-memory)。它会选择杀死一些进程(用户态进程,不是内核线程),以便释放内存。

Overcommit的策略

Linux下overcommit有三种策略(Documentation/vm/overcommit-accounting):

0. 启发式策略。合理的overcommit会被接受,不合理的overcommit会被拒绝。

1. 任何overcommit都会被接受。

2. 当系统分配的内存超过swap+N%*物理RAM(N%由vm.overcommit_ratio决定)时,会拒绝commit。

overcommit的策略通过vm.overcommit_memory设置。

overcommit的百分比由vm.overcommit_ratio设置。

# echo 2 > /proc/sys/vm/overcommit_memory

# echo 80 > /proc/sys/vm/overcommit_ratio

当oom-killer发生时,linux会选择杀死哪些进程

选择进程的函数是oom_badness函数(在mm/oom_kill.c中),该函数会计算每个进程的点数(0~1000)。

点数越高,这个进程越有可能被杀死。

每个进程的点数跟oom_score_adj有关,而且oom_score_adj可以被设置(-1000最低,1000最高)。

错误2:
WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.

echo 511 > /proc/sys/net/core/somaxconn
Copier après la connexion

错误3:

16433:X 12 Jun 14:52:37.734 * Increased maximum number of open files to 10032 (it was originally set to 1024).

新装的linux默认只有1024,当负载较大时,会经常出现error: too many open files

ulimit -a:使用可以查看当前系统的所有限制值

vim /etc/security/limits.conf
Copier après la connexion

在文件的末尾加上

* soft nofile 65535
* hard nofile 65535
Copier après la connexion

执行su或者重新关闭连接用户再执行ulimit -a就可以查看修改后的结果。

故障切换机制

1. 启动群集后,群集程序默认会在从库的redis文件中加入连接主的配置

# Generated by CONFIG REWRITE
slaveof 192.168.137.40 6379
Copier après la connexion

2.启动群集之后,群集程序默认会在主从的sentinel.conf文件中加入群集信息

主:

port 26379
dir "/usr/local/redis-6379"
# 守护进程模式
daemonize yes
# 指明日志文件名
logfile "./sentinel.log"
sentinel monitor mymaster 192.168.137.40 6379 1
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 18000
sentinel auth-pass mymaster 123456
# Generated by CONFIG REWRITE
sentinel config-epoch mymaster 0
sentinel leader-epoch mymaster 1
sentinel known-slave mymaster 192.168.137.40 6380
sentinel known-sentinel mymaster 192.168.137.40 26380 c77c5f64aaad0137a228875e531c7127ceeb5c3f
sentinel current-epoch 1
Copier après la connexion

从:

#sentinel端口
port 26380
#工作路径
dir "/usr/local/redis-6380"
# 守护进程模式
daemonize yes
# 指明日志文件名
logfile "./sentinel.log"
#哨兵监控的master,主从配置一样,在进行主从切换时6379会变成当前的master端口,
sentinel monitor mymaster 192.168.137.40 6379 1
# master或slave多长时间(默认30秒)不能使用后标记为s_down状态。
sentinel down-after-milliseconds mymaster 5000
#若sentinel在该配置值内未能完成failover操作(即故障时master/slave自动切换),则认为本次failover失败。
sentinel failover-timeout mymaster 18000
#设置master和slaves验证密码
sentinel auth-pass mymaster 123456
#哨兵程序自动添加的部分
# Generated by CONFIG REWRITE
sentinel config-epoch mymaster 0
sentinel leader-epoch mymaster 1
###指明了当前群集的从库的ip和端口,在主从切换时该值会改变
sentinel known-slave mymaster 192.168.137.40 6380
###除了当前的哨兵还有哪些监控的哨兵
sentinel known-sentinel mymaster 192.168.137.40 26379 7a88891a6147e202a53601ca16a3d438e9d55c9d
sentinel current-epoch 1
Copier après la connexion

模拟主故障

[root@monitor redis-6380]# ps -ef|grep redis
root       4171      1  0 14:20 ?        00:00:15 /usr/local/redis-6379/src/redis-server *:6379                          
root       4175      1  0 14:20 ?        00:00:15 /usr/local/redis-6380/src/redis-server *:6380                          
root       4305      1  0 15:28 ?        00:00:05 /usr/local/redis-6379/src/redis-sentinel *:26379 [sentinel]                            
root       4306      1  0 15:28 ?        00:00:05 /usr/local/redis-6380/src/redis-sentinel *:26380 [sentinel]                            
root       4337   4144  0 15:56 pts/1    00:00:00 grep redis
[root@monitor redis-6380]# kill -9 4171
[root@monitor redis-6380]# ps -ef|grep redis
root       4175      1  0 14:20 ?        00:00:15 /usr/local/redis-6380/src/redis-server *:6380                          
root       4305      1  0 15:28 ?        00:00:05 /usr/local/redis-6379/src/redis-sentinel *:26379 [sentinel]                            
root       4306      1  0 15:28 ?        00:00:05 /usr/local/redis-6380/src/redis-sentinel *:26380 [sentinel]                            
root       4339   4144  0 15:56 pts/1    00:00:00 grep redis
[root@monitor redis-6380]#
Copier après la connexion

Comment implémenter le basculement maître-esclave en mode sentinelle RedisComment implémenter le basculement maître-esclave en mode sentinelle Redis从哨兵配置文件中可以看到当前的主库的已经发生了改变

Comment implémenter le basculement maître-esclave en mode sentinelle Redis

总结

redis的哨兵端口26379、26380使用客户端软件无法连接,使用程序可以连接,客户端软件只能直接连接6379和6380端口。使用哨兵监控当主故障后会自动切换从为主,当主启动后就变成了从。有看到别人只配置单哨兵26379的这种情况,这种情况无法保证哨兵程序自身的高可用。

更多redis知识请关注redis数据库教程栏目。

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Où trouver la courte de la grue à atomide atomique
1 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Solution à l'erreur 0x80242008 lors de l'installation de Windows 11 10.0.22000.100 Solution à l'erreur 0x80242008 lors de l'installation de Windows 11 10.0.22000.100 May 08, 2024 pm 03:50 PM

1. Démarrez le menu [Démarrer], entrez [cmd], cliquez avec le bouton droit sur [Invite de commandes] et sélectionnez Exécuter en tant qu'[Administrateur]. 2. Entrez les commandes suivantes dans l'ordre (copiez et collez soigneusement) : SCconfigwuauservstart=auto, appuyez sur Entrée SCconfigbitsstart=auto, appuyez sur Entrée SCconfigcryptsvcstart=auto, appuyez sur Entrée SCconfigtrustedinstallerstart=auto, appuyez sur Entrée SCconfigwuauservtype=share, appuyez sur Entrée netstopwuauserv , appuyez sur Entrée netstopcryptS.

Stratégie de mise en cache et optimisation de l'API Golang Stratégie de mise en cache et optimisation de l'API Golang May 07, 2024 pm 02:12 PM

La stratégie de mise en cache dans GolangAPI peut améliorer les performances et réduire la charge du serveur. Les stratégies couramment utilisées sont : LRU, LFU, FIFO et TTL. Les techniques d'optimisation incluent la sélection du stockage de cache approprié, la mise en cache hiérarchique, la gestion des invalidations, ainsi que la surveillance et le réglage. Dans le cas pratique, le cache LRU est utilisé pour optimiser l'API pour obtenir des informations utilisateur à partir de la base de données. Les données peuvent être rapidement récupérées du cache. Sinon, le cache peut être mis à jour après l'avoir obtenu à partir de la base de données.

Mécanisme de mise en cache et pratique d'application dans le développement PHP Mécanisme de mise en cache et pratique d'application dans le développement PHP May 09, 2024 pm 01:30 PM

Dans le développement PHP, le mécanisme de mise en cache améliore les performances en stockant temporairement les données fréquemment consultées en mémoire ou sur disque, réduisant ainsi le nombre d'accès à la base de données. Les types de cache incluent principalement le cache de mémoire, de fichiers et de bases de données. En PHP, vous pouvez utiliser des fonctions intégrées ou des bibliothèques tierces pour implémenter la mise en cache, telles que cache_get() et Memcache. Les applications pratiques courantes incluent la mise en cache des résultats des requêtes de base de données pour optimiser les performances des requêtes et la mise en cache de la sortie des pages pour accélérer le rendu. Le mécanisme de mise en cache améliore efficacement la vitesse de réponse du site Web, améliore l'expérience utilisateur et réduit la charge du serveur.

Comment mettre à niveau Win11 anglais 21996 vers le chinois simplifié 22000_Comment mettre à niveau Win11 anglais 21996 vers le chinois simplifié 22000 Comment mettre à niveau Win11 anglais 21996 vers le chinois simplifié 22000_Comment mettre à niveau Win11 anglais 21996 vers le chinois simplifié 22000 May 08, 2024 pm 05:10 PM

Vous devez d’abord définir la langue du système sur l’affichage chinois simplifié et redémarrer. Bien sûr, si vous avez déjà modifié la langue d'affichage en chinois simplifié, vous pouvez simplement ignorer cette étape. Ensuite, commencez à utiliser le registre, regedit.exe, accédez directement à HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlNlsLanguage dans la barre de navigation de gauche ou dans la barre d'adresse supérieure, puis modifiez la valeur de la clé InstallLanguage et la valeur de la clé par défaut sur 0804 (si vous souhaitez la changer en anglais en- nous, vous devez d'abord définir la langue d'affichage du système sur en-us, redémarrer le système, puis tout changer en 0409). Vous devez redémarrer le système à ce stade.

Comment utiliser le cache Redis dans la pagination des tableaux PHP ? Comment utiliser le cache Redis dans la pagination des tableaux PHP ? May 01, 2024 am 10:48 AM

L'utilisation du cache Redis peut considérablement optimiser les performances de la pagination du tableau PHP. Cela peut être réalisé en suivant les étapes suivantes : Installez le client Redis. Connectez-vous au serveur Redis. Créez des données de cache et stockez chaque page de données dans un hachage Redis avec la clé « page : {page_number} ». Récupérez les données du cache et évitez les opérations coûteuses sur les grandes baies.

Comment trouver le fichier de mise à jour téléchargé par Win11_Partager l'emplacement du fichier de mise à jour téléchargé par Win11 Comment trouver le fichier de mise à jour téléchargé par Win11_Partager l'emplacement du fichier de mise à jour téléchargé par Win11 May 08, 2024 am 10:34 AM

1. Tout d'abord, double-cliquez sur l'icône [Ce PC] sur le bureau pour l'ouvrir. 2. Double-cliquez ensuite sur le bouton gauche de la souris pour accéder à [Lecteur C]. Les fichiers système seront généralement automatiquement stockés dans le lecteur C. 3. Recherchez ensuite le dossier [windows] dans le lecteur C et double-cliquez pour entrer. 4. Après avoir accédé au dossier [windows], recherchez le dossier [SoftwareDistribution]. 5. Après avoir entré, recherchez le dossier [télécharger], qui contient tous les fichiers de téléchargement et de mise à jour Win11. 6. Si nous souhaitons supprimer ces fichiers, supprimez-les simplement directement dans ce dossier.

Applications de mise en cache PHP Redis et bonnes pratiques Applications de mise en cache PHP Redis et bonnes pratiques May 04, 2024 am 08:33 AM

Redis est un cache clé-valeur hautes performances. L'extension PHPRedis fournit une API pour interagir avec le serveur Redis. Suivez les étapes suivantes pour vous connecter à Redis, stocker et récupérer des données : Connecter : utilisez les classes Redis pour vous connecter au serveur. Stockage : utilisez la méthode set pour définir des paires clé-valeur. Récupération : utilisez la méthode get pour obtenir la valeur de la clé.

Pourquoi une erreur se produit-elle lors de l'installation d'une extension à l'aide de PECL dans un environnement Docker? Comment le résoudre? Pourquoi une erreur se produit-elle lors de l'installation d'une extension à l'aide de PECL dans un environnement Docker? Comment le résoudre? Apr 01, 2025 pm 03:06 PM

Causes et solutions pour les erreurs Lors de l'utilisation de PECL pour installer des extensions dans un environnement Docker Lorsque nous utilisons un environnement Docker, nous rencontrons souvent des maux de tête ...

See all articles