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); ?>
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 'switch.php'; while($switch){ $switch = include 'switch.php'; $msg=date("Y-m-d H:i:s").$switch; file_put_contents("log.log",$msg,FILE_APPEND);//记录日志 sleep($sleep_time);//等待时间,进行下一次操作。 } exit(); ?>
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!