Maison > développement back-end > tutoriel php > Les fichiers PHP peuvent également être exécutés toutes les quelques secondes

Les fichiers PHP peuvent également être exécutés toutes les quelques secondes

小云云
Libérer: 2023-03-17 11:06:01
original
3291 Les gens l'ont consulté

Si nous avons besoin d'utiliser un extracteur de code PHP pour opérer sur la base de données et enregistrer les résultats. Si la méthode consiste à déclencher l'exécution de ce code lorsque l'utilisateur le demande, évidemment le temps de réponse de l'utilisateur deviendra plus long, affectant l'expérience utilisateur ! Si vous utilisez les tâches planifiées du système d'exploitation, la fréquence d'exécution est également très élevée.

Voici un exemple simple :

<?php
ignore_user_abort();//关闭浏览器仍然执行
set_time_limit(0);//让程序一直执行下去
$interval=3;//每隔一定时间运行
do{
    $msg=date("Y-m-d H:i:s");
    file_put_contents("log.log",$msg,FILE_APPEND);//记录日志
    sleep($interval);//等待时间,进行下一次操作。
}while(true);
?>
Copier après la connexion

Il convient de noter que le programme n'écrit pas d'instruction de jugement de fin et qu'il bouclera sans fin. Bien sûr, si vous souhaitez l'arrêter, vous pouvez redémarrer Apache. Après le redémarrage, il sera invalide. Si vous souhaitez effectuer à nouveau une exécution planifiée, exécutez à nouveau ce code.

L'exemple simple ci-dessus peut illustrer ce principe.

Donc, pour l'exemple ci-dessus, je peux apporter quelques améliorations.

Vous avez besoin d'un switch pour exécuter le script. Vous pouvez l'implémenter en introduisant un fichier externe dans la boucle while, incluez simplement la variable switch. Ensuite, cela peut être réalisé comme ceci :

Créez un fichier de variable externe importé switch.php avec le contenu suivant :

<?php
return 1;//1执行脚本 0退出执行脚本
?>
改良脚本如下:
<?php
    ignore_user_abort();//关闭浏览器后,继续执行php代码
    set_time_limit(0);//程序执行时间无限制
    $sleep_time = 5;//多长时间执行一次
    $switch = include &#39;switch.php&#39;;
    while($switch){
        $switch = include &#39;switch.php&#39;;
        $msg=date("Y-m-d H:i:s").$switch;
            file_put_contents("log.log",$msg,FILE_APPEND);//记录日志
        sleep($sleep_time);//等待时间,进行下一次操作。
    }
    exit();
    
?>
Copier après la connexion

Dans le passé, peut-être que nous ne savions pas pourquoi le serveur répondrait depuis longtemps, mais à travers deux exemples En comparaison, nous savons déjà comment implémenter des fichiers PHP à exécuter toutes les quelques secondes, et nous avons donc trouvé une solution.

Recommandations associées :

Résumé des fonctions de fichier PHP

Résumé des fonctions de fichier PHP et des fonctions de répertoire

Partager la classe de téléchargement de fichiers php

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:php.cn
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