Maison > cadre php > PensezPHP > Cette méthode peut faire voler TP5.0 sur SWOLE !

Cette méthode peut faire voler TP5.0 sur SWOLE !

藏色散人
Libérer: 2020-07-20 16:44:15
avant
3119 Les gens l'ont consulté

La colonne tutorielle suivante du thinkphp framework vous présentera comment faire voler TP5.0 sur SWOLE. J'espère qu'elle sera utile aux amis qui en ont besoin !

Cette méthode peut faire voler TP5.0 sur SWOLE !

TP-SWOOLE

Actuellement, TP5.1 a officiellement fourni think-swoole2.0, et le niveau d'intégration était bien plus élégant avant , mais la méthode d'intégration de 5.0 est effectivement un peu insipide. J'ai donc regardé 2.0 et développé un pack d'extension pour 5.0, qui peut être téléchargé à l'aide de composer

composer require xaviertony/xavier-swoole
Copier après la connexion

Avant le développement, vous devez vous familiariser avec le cycle de vie de TP5.0, sinon vous ne pourrez pas commencer.

Comme TP fonctionne principalement sous Apache ou NGINX, il sera libéré après chaque opération, alors que swoole est une mémoire permanente De nombreuses classes TP5 sont implémentées par des singletons, il est donc inévitable de tomber dans des pièges, parmi lesquels le. Les plus gros pièges sont qu'il s'agit d'une requête. Puisque la requête est instanciée après le démarrage, si la requête n'est pas supprimée, cette instance sera utilisée à chaque fois dans le futur, ce qui entraînera l'impossibilité d'accéder à la page normalement, car l'instance de requête en a besoin. à supprimer en premier après chaque requête

public static function deletethis()
    {
        if (!is_null(self::$instance)) {
            self::$instance=null;
        }
    }
Copier après la connexion

Le fichier de configuration du package tiers doit être sous application/extra, et le nom du fichier est swoole.php

<?php
return [
    &#39;host&#39;                  => &#39;0.0.0.0&#39;, // 监听地址
    &#39;port&#39;                  => 9501, // 监听端口
    &#39;mode&#39;                  => &#39;&#39;, // 运行模式 默认为SWOOLE_PROCESS
    &#39;sock_type&#39;             => &#39;&#39;, // sock type 默认为SWOOLE_SOCK_TCP
    &#39;app_path&#39;              => getcwd() . &#39;/application&#39;, // 应用地址 如果开启了 &#39;daemonize&#39;=>true 必须设置(使用绝对路径)
    &#39;file_monitor&#39;          => false, // 是否开启PHP文件更改监控(调试模式下自动开启)
    &#39;file_monitor_interval&#39; => 2, // 文件变化监控检测时间间隔(秒)
    &#39;file_monitor_path&#39;     => [], // 文件监控目录 默认监控application和config目录
    // 可以支持swoole的所有配置参数
    &#39;pid_file&#39;              => getcwd()  . &#39;/runtime/swoole.pid&#39;,
    &#39;log_file&#39;              => getcwd()  . &#39;/runtime/swoole.log&#39;,
    &#39;task_worker_num&#39;       => 20,
    //&#39;document_root&#39;         => getcwd() . &#39;public&#39;,
    //&#39;enable_static_handler&#39; => true,
    &#39;daemonize&#39;                => 1,//守护
    &#39;worker_num&#39; => 8,    //worker process num
    &#39;max_request&#39; => 10000,
];
Copier après la connexion

Commande de démarrage

php think swoole start
Copier après la connexion

Démarrage du démon

php think swoole start -d
Copier après la connexion

Arrêter le service

php think swoole stop
Copier après la connexion

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!

Étiquettes associées:
source:segmentfault.com
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal