PHP über die Befehlszeile verwenden: Variablen an Skripte übergeben
Das Ausführen von PHP-Skripten über die Befehlszeile kann eine bequeme Möglichkeit sein, Aufgaben zu automatisieren . Allerdings kann die Übergabe von Variablen an diese Skripte verwirrend sein. In diesem Artikel wird erläutert, wie Sie Variablen effektiv an PHP-Skripte übergeben, die über die Befehlszeile aufgerufen werden.
Das Problem
Beim Versuch, Variablen mithilfe des URL-Abfragezeichenfolgenformats zu übergeben, Möglicherweise tritt ein Fehler wie dieser auf: „Eingabedatei konnte nicht geöffnet werden: myfile.php?type=daily.“ Dies liegt daran, dass das Abfragezeichenfolgenformat nur für Seiten gültig ist, auf die über das Internet zugegriffen wird.
解决方案
Um Variablen über die Befehlszeile an PHP-Skripte zu übergeben, müssen Sie Folgendes tun Sie müssen das Array $argv verwenden. So geht's:
1. Variablen von $argv abrufen
Wenn Sie ein PHP-Skript über die Befehlszeile ausführen, werden die an das PHP-Skript übergebenen Parameter im Array $argv gespeichert. Das erste Element ($argv[0]) ist der Dateiname des Skripts, während nachfolgende Elemente die Parameter enthalten. Um den Wert eines bestimmten Parameters abzurufen, verwenden Sie seinen Index im Array. Um beispielsweise den Wert des Parameters „type“ zu erhalten, würden Sie $argv[1] verwenden.
Code:
<?php // Check if the script was called from the command line if (defined('STDIN')) { // Get the type parameter from $argv $type = $argv[1]; } ?>
2 . Auch den Webzugriff verarbeiten
Wenn das Skript auch als Webseite verwendet wird, können Sie prüfen, ob es über die Befehlszeile aufgerufen wird oder nicht, und die Variablenübergabe entsprechend behandeln:
<?php if (defined('STDIN')) { // Running from command line $type = $argv[1]; } else { // Running as a web page $type = $_GET['type']; } ?>
3. Verwenden von Wget oder einem Shell-Skript
Wenn Sie über eine URL-ähnliche Syntax auf das Skript zugreifen möchten, während Sie es über die Befehlszeile ausführen, können Sie ein Shell-Skript oder Wget verwenden, um die Abfrage remote auszuführen:
Shell-Skript:
#!/bin/sh wget http://location.to/myfile.php?type=daily
Indem Sie diese Methoden befolgen, können Sie Variablen effektiv an PHP übergeben Skripte, die über die Befehlszeile ausgeführt werden, sodass Sie Aufgaben automatisieren und Daten effizient verarbeiten können.
Das obige ist der detaillierte Inhalt vonWie übergebe ich Variablen über die Befehlszeile an PHP-Skripte?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

APHPDependencyInjectionContainerisatoolthatmanagesClass -Abhängigkeiten, EnhancingCodemodularität, Testbarkeit und Maschinenbarkeit.

Wählen Sie die Abhängigkeitsinjektion (DI) für große Anwendungen. Der Servicelocator ist für kleine Projekte oder Prototypen geeignet. 1) DI verbessert die Testbarkeit und Modularität des Codes durch Konstruktorinjektion. 2) Servicelocator erhält Dienstleistungen durch die Zentrumregistrierung, was bequem ist, aber zu einer Erhöhung der Codekupplung führen kann.

PhpapplicationscanbeoptimizedforspeedandefficiencyBy: 1) EnabgingOpcacheinphp.ini, 2) usePreparedStatementsWithpdoFordatabasequeries, 3) Ersatzloopswitharray_Filterandarray_mapfordataprozessing, 4) Konfigurieren von), 4), implementieren, 5)

PhpemailvalidationInvolvesthreesteps: 1) Formatvalidationusing -RegularexpressionStocheckTheemailformat; 2) DnsvalidationToensurethedomainhasavalidmxRecord;

TomakePhpapplicationsfaster, folgt der THESESTEPS: 1) UseOpCodeCaching LikeopcachetOstorePrecompiledScriptByteCode.2) MinimizedatabasequeriesByusedQueryCachingandefficiendexing.3) Hebel -FeaturesForbetTerCodeeffizienz.4) Implementierungspflichtiger Strategie

ToimProvePhpapplicationSpeed, folge theSeSteps: 1) enableOpCodeCachingWithAPCUToreducescriptexexexeTime.2) ImplementDatabaseQueryCachingusedpdotominimizedatabaseHits.3) UseHttp/2TomultiplexRequeTsReconneconneconneconneconneconneconnectionOverhead.4))

Die Abhängigkeitsinjektion (DI) verbessert die Testbarkeit von PHP -Code durch explizit transitive Abhängigkeiten signifikant. 1) DI -Entkopplungsklassen und spezifische Implementierungen machen Tests und Wartung flexibler. 2) Unter den drei Typen injiziert der Konstruktor explizite Expressionsabhängigkeiten, um den Zustand konsistent zu halten. 3) Verwenden Sie DI -Container, um komplexe Abhängigkeiten zu verwalten, um die Codequalität und die Entwicklungseffizienz zu verbessern.

DatabaseQueryoPtimizationInphpinvolvesseveralStrategieShancePerformance.1) selectonlynn -nötigesColumntededatatransfer.2) Verwenden Sie IndexingTospeedUpDatarErvieval.3) ImplementQueryCachingtoStoreresultsOffRequerien.4) Nützliche Stände


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

EditPlus chinesische Crack-Version
Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion

PHPStorm Mac-Version
Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool

SublimeText3 Linux neue Version
SublimeText3 Linux neueste Version

WebStorm-Mac-Version
Nützliche JavaScript-Entwicklungstools

ZendStudio 13.5.1 Mac
Leistungsstarke integrierte PHP-Entwicklungsumgebung
