2010-07-09 3 views
1

Je dois vérifier si un script administratif est déjà en cours d'exécution sur Apache, sinon il s'exécute. Actuellement, je charge le contenu du statut du serveur et je le vérifie, mais si je vérifie si le script en cours est déjà en cours, il retournera toujours vrai parce que je cours le script pour vérifier sur lui-même. Cela a-t-il du sens?Vérification de l'exécution d'un script sur Apache via PHP

En gros, dans « script.php » est quelque chose comme:

if($this_is_already_running) { exit; } 
else { run it } 

mais il est actuellement en cours d'exécution pendant qu'il vérifie sur lui-même, il sera toujours vrai retour.

Toute aide est grandement appréciée.

+0

Ah, je pensais que vous essayez de déterminer si un script a été exécuté sur Apache ou un autre serveur Web. Un meilleur titre pourrait être "Vérifier si un script PHP est actuellement servi", ou quelque chose comme ça. –

Répondre

2

Je voudrais utiliser un fichier de verrouillage. Votre script écrirait un fichier dans un emplacement prédéfini et le verrouillerait. Des instances supplémentaires de votre script vérifieraient le verrou, et s'il est en place, quittez.

Voir flock()

le manuel a quelques bons exemples.

+0

Cela fonctionnerait probablement mieux, sauf que je pense que je penche pour faire de cette fonction une fonction qui sera intégrée dans un fichier d'inclusion pour être utilisée dans de nombreux scripts pour vérifier contre eux-mêmes et les autres. Merci cependant, bonnes choses – ThrivingKings

Questions connexes