Maison >cadre php >PensezPHP >Que dois-je faire si le numéro de port thinkphp n'est pas accessible ?

Que dois-je faire si le numéro de port thinkphp n'est pas accessible ?

PHPz
PHPzoriginal
2023-04-17 10:28:041120parcourir

Lors du développement d'applications ThinkPHP, nous rencontrons parfois le problème que le numéro de port n'est pas accessible. Cela est probablement dû au numéro de port occupé. Cet article explique comment afficher et libérer le numéro de port occupé, et comment configurer correctement le numéro de port dans l'application ThinkPHP.

1. Vérifiez le processus occupant le numéro de port

Dans le système Windows, vous pouvez utiliser l'outil de ligne de commande netstat pour vérifier le numéro de port occupé et son processus correspondant.

Prenons l'exemple de l'affichage du numéro de port 8888. Ouvrez l'outil de ligne de commande et saisissez :

netstat -ano|findstr "8888"

Parmi eux, -a signifie afficher toutes les connexions et les ports d'écoute, -n signifie utiliser des nombres pour représenter l'adresse et le numéro de port. , et -o signifie afficher la connexion occupée, |findstr "8888" signifie trouver la ligne contenant "8888".

Le processus portant l'ID de processus 10332 occupe le numéro de port 8888. Ensuite, nous devons trouver le processus occupant le numéro de port via l'ID de processus.

Entrez dans l'outil de ligne de commande :

tasklist|findstr "10332"

Parmi elles, la commande tasklist est utilisée pour afficher la liste des processus dans le système, et |findstr "10332" est utilisée pour trouver le processus contenant "10332".

Il ressort de ces informations que le processus occupant le numéro de port 8888 est php.exe.

2. Libérez le processus occupant le numéro de port

Nous avons trouvé le processus occupant le numéro de port 8888, et nous devons ensuite libérer le processus.

Un moyen simple consiste à terminer le processus directement. Entrez simplement la commande suivante dans l'outil de ligne de commande :

taskkill /pid 10332 /f

Parmi eux, le paramètre /pid est utilisé pour spécifier l'ID du processus à terminer, et le paramètre /f indique l'arrêt forcé du processus.

Après avoir exécuté cette commande, vous pouvez à nouveau utiliser la commande netstat pour vérifier si le numéro de port a été libéré.

3. Configurez correctement le numéro de port de l'application ThinkPHP

Lors du développement d'une application ThinkPHP, le serveur PHP intégré est généralement utilisé pour exécuter l'application. A ce stade, nous devons configurer le numéro de port dans le fichier d'entrée index.php de l'application.

Prenons l'exemple de la configuration du numéro de port sur 8888. Ajoutez le code suivant au début du fichier index.php :

// 指定端口号
$port = 8888;
// 启动PHP内置服务器
exec("start php -S 0.0.0.0:$port -t public");

Le code ci-dessus spécifie que le numéro de port est 8888 et utilise la fonction exec de PHP pour démarrer PHP. serveur intégré.

Notez que dans le développement actuel, étant donné que les numéros de port sont souvent occupés, il est recommandé d'utiliser des numéros de port aléatoires. Le code qui peut utiliser des numéros de port aléatoires est le suivant :

// 获取随机端口号
$port = rand(10000, 20000);
// 启动PHP内置服务器
exec("start php -S 0.0.0.0:$port -t public");

IV. Résumé

Lorsque nous rencontrons le problème de l'impossibilité d'accéder au numéro de port ThinkPHP, nous pouvons le résoudre en suivant les étapes suivantes :

  1. Utilisez la commande netstat. pour vérifier le processus du numéro de port occupé ;
  2. Utilisez la commande tasklist pour trouver le processus occupant le profil ;
  3. Utilisez la commande taskkill pour mettre fin au processus occupant le numéro de port si nécessaire
  4. Configurez le numéro de port correct dans l'application ThinkPHP ; fichier d'entrée.

J'espère que cet article pourra aider tout le monde à résoudre le problème.

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:
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