2010-08-11 5 views
0

current.php est la page que nous ouvrons dans le navigateur.Fichiers PHP ouverts?

other_1.php et other_2.php sont des pages que nous voulons exécuter. Ces deux pages font un gros travail et travaillent lentement. Comment pouvons-nous appeler les deux autres pages à travailler, juste quand nous ouvrons current.php?

current.php devrait simplement ouvrir et mourir, rien ne se passe, il suffit d'envoyer des commandes pour ouvrir.

Si la page actuelle inclura d'autres pages, elle mangera beaucoup de mémoire et sortira de l'exécution de temps maximum disponible sur le compte d'hébergement.

Toutes les pages placées dans le même dossier.

Une idée?

Merci.

+1

Si l'un de ces fichiers utilise des sessions, faites attention à 'session_write_close()' dans les deux avant d'effectuer le travail de longue durée. Les sessions basées sur des fichiers standard de PHP verrouillent le fichier de session sur 'session_start()' et ne le libèrent pas tant que vous ne fermez pas la session ou que le script se termine. Cela signifierait que seul le premier des hits serait exécuté, et l'autre attendrait jusqu'à ce que le premier se termine/se termine. –

Répondre

1

vous pouvez essayer celui-ci:

function execInBackground($cmd) { 
    if (substr(php_uname(), 0, 7) == "Windows"){ 
     pclose(popen("start /B ". $cmd, "r")); 
    } 
    else { 
     exec($cmd . " > /dev/null &"); 
    } 
} 

En vous passez cmd $ le chemin vers PHP et que vous pouvez utiliser la commande comme dans CLI.

+0

Que fait ce code? – James

+0

Il exécute une commande (ou un processus) comme lorsque vous tapez quelque chose dans bash ou cmd, mais cette fonction peut être désactivée sur votre serveur web en raison de restrictions de sécurité. – Emiswelt

+0

son ok pour les serveurs unix? – James

0

Vous pouvez utiliser

<?php 

include("other_1.php"); 

?> 

et à la fin de other_1.php ajouter un autre pour inclure other_2.php, et ainsi de suite. Si j'ai mal compris la question, faites le moi savoir.

+0

> Si la page actuelle inclura d'autres pages, elle consommera beaucoup de mémoire et sortira du maximum de temps disponible sur le compte d'hébergement. – James