Comment faire pour exécuter un script php sur le serveur via la ligne de commande
J'ai créé un script php pour importer des flux rss dans la base de données. L'aliment qui est énorme (à partir de l'année 2004 à 2010, à environ 2 millions d'enregistrements) doit être inséré dans la base de données. J'ai été l'exécution du script dans le navigateur, mais le rythme c'est l'insertion (approx. 1 par seconde) je doute qu'il en prend une autre de 20 à 25 jours à l'entrée de ces données, même s'il fonctionne 24 heures par jour. J'ai essayé de l'exécuter sur différentes fenêtres de navigateur en même temps et ont fini seulement 70000 enregistrements dans les deux derniers jours. Je ne suis pas sûr de savoir comment le serveur va réagir si je lance 10-12 instances simultanément.
Un programmeur à mon client dit que je puisse l'exécuter directement sur le serveur via la ligne de commande. Quelqu'un pourrait-il me dire comment beaucoup de différence que cela ferait si je le lance en ligne de commande? Aussi quelle est la syntaxe de ligne de commande pour l'exécuter? Je suis sur un serveur apache, php/mysql. J'ai essayé sur le web pour une semblable réponse, mais ils semblent assez déroutant pour moi que je ne suis pas un administrateur système ou bien sous linux, même si j'ai fait des tâches comme les dépôts svn et installer certains modules apache sur le serveur dans le passé, alors j'espère que je pourrais gérer cela si quelqu'un me dire comment le faire.
OriginalL'auteur Arvind K. | 2010-05-25
Vous devez vous connecter pour publier un commentaire.
Différence de vitesse: Minimal. Tous vous enregistrer sur bloque sur NET I/O et de connexion (et apache frais généraux, qui est négligeable).
Comment le faire:
Vous ne pouvez avoir la
php5-mod
package installé, ce qui est php pour apache, vous pouvez avoir à installer le réel de l'interpréteur de ligne de commande, toutefois, un grand nombre de distributions d'installer les deux. Personnellement, je pense que vous avez une efficacité problème dans l'algorithme. Quelque chose de prendre des jours et des jours semble comme il pourrait être accéléré par la mise en cache & pire cas l'analyse des performances (Big-O notation).Aussi, php vanille n'est pas très rapide, il y a beaucoup de façons de le rendre vraiment rapide, mais si vous faites beaucoup de calcul, vous devriez envisager de c/c++, C#/Mono (Peut-être), éventuellement en python (peut être pré-compilé, ne peut en fait être beaucoup plus rapide).
Mais l'exploration de ces autres points de vente est hautement recommandé.
OriginalL'auteur Aren
Seulement en fournissant le nom du fichier à exécuter est suffisante:
Voir le la documentation pour plus d'options de ligne de commande.
OriginalL'auteur Dolph
Pour exécuter un script php en ligne de commande, exécutez simplement:
Si vous voulez garder ce processus en cours d'exécution en arrière-plan n':
Ensuite, vous pouvez exécuter plusieurs processus en même temps. Pour identifier les instances du script en cours d'exécution exécuter:
Toutefois, si vous pensez qu'il prend trop de temps, essayez de trouver si il y a un goulot d'étranglement dans votre code et de l'optimiser.
OriginalL'auteur nuqqsa
dans linux:
type
pour d'autres options
OriginalL'auteur Dan Heberden
Vous pouvez aussi avoir besoin de la
-n
option (pas dephp.ini
fichier) ou des options pour spécifier oùphp-cli.ini
ouphp.ini
fichier peut être trouvé.OriginalL'auteur David Crowe