2016-08-29 1 views
1

J'ai un fichier PHP qui vérifie si un champ dans la base de données MySQL est vide. Si le champ est vide, PHP est une mise à jour. Je veux colorier ce fichier en arrière-plan sur Linux. Si un utilisateur crée un enregistrement, le fichier PHP en arrière-plan sera mis à jour. Mon code PHP:Mettre le fichier php en arrière-plan sur Linux

<?php 
$mysqli = mysqli_connect("localhost","name","pass","database"); 
$query = 'UPDATE users SET permissions = "content" WHERE permissions = ""'; 
$n = $mysqli->query($query); 
$query = "SELECT * from users"; 
$result = $mysqli->query($query); 
$row = $result->fetch_array(MYSQLI_ASSOC); 
$subdominio = $row["name"]; 
$created_at = $row["created_at"]; 
?> 

Comment puis-je faire cela? Je peux avoir un problème avec le fichier PHP en arrière-plan sur Linux? Performance, ralentir et etc?

Merci beaucoup!

+0

Ce serait une meilleure idée de corriger quel que soit le code ne définissant pas la colonne 'permissions' correctement. – RiggsFolly

+0

voulez-vous l'exécuter en arrière-plan? (par exemple démon) ou l'initier dans un événement particulier. Si vous voulez le déclencher sur un événement? qui ou quoi va l'initier? Sera-t-il lancé à partir de votre site Web? –

Répondre

0
  1. Créer un fichier PHP et y mettre votre code. (Par exemple myfile.php)
  2. install 'screen':

Ubuntu & Debian: apt-get -y install screen

CentOS & Fedora: yum -y install screen

**** Suivez les étapes 3 & 4 exécuter myfile.php tout le temps. Et suivez les étapes 5 & 6 pour exécuter myfile.php toutes les 1 minute ou toutes les X fois en utilisant crontab. ****

  1. Type 'screen'.
  2. Saisissez 'php myfile.php'. Et minimisez/masquez-le en appuyant sur Ctrl + A + D. Et revenez en tapant 'screen -r'.

  3. Type 'crontab -e'.

  4. Pour exécuter chaque minute, vous pouvez taper '* * * * * php myfile.php' ... Si vous ne voulez pas chaque minute, Google à propos de crontab.
+0

protld, merci beaucoup. –

+0

Pas de problème @Julio Mac! – protld

0

Vous devriez être en mesure de lancer un programme en arrière-plan en utilisant le symbole & sous Linux:

php myscript.php & 

Pour voir qu'il vous en cours d'exécution utilisez:

jobs 

Il liste une numéro pour le travail afin que vous puissiez le rappeler au premier plan pour interagir/le tuer:

fg 1 

F.Y.I Si votre script imprime quelque chose que vous voulez rediriger la sortie ou il ira à la console

+0

John Morrison, merci beaucoup! Je comprends votre commande, mais la commande postée par protld m'aide! Bonne chance! :) –