Run("php -f admin_mailer/ideamailer.class.php arg1 arg2"> Run("php -f admin_mailer/ideamailer.class.php arg1 arg2"> Run("php -f admin_mailer/ideamailer.class.php arg1 arg2" />

Hoe een commandoregelargument doorgeven met WScript.Shell in PHP?

Ik probeer op de achtergrond een php-script uit te voeren, dat wordt aangeroepen vanuit een ander php-bestand:

$WshShell = new COM("WScript.Shell");
$oExec = $WshShell->Run("php -f admin_mailer/ideamailer.class.php arg1 arg2 arg3", 0, false);

Het bestand wordt uitgevoerd ... mijn probleem is dat de argumenten niet worden doorgegeven. Ik heb print_r ($ argv) in het uitgevoerde bestand dat alleen een '1' toont. Wat is de juiste manier om argumenten door te geven? Ik ben op een Windows-server.

1
Zijn er voorzorgsmaatregelen voor die verklaring om te werken: nieuwe COM ("WScript.Shell"); ? Omdat het niet voor mij werkt! Dank je
toegevoegd de auteur Muhammad Gelbana, de bron

1 antwoord

I can run the commands with parameters exactly this way, try to escape the parameters to the function escapeshellarg

1
toegevoegd
Ah bedankt dat werkte. Ik had spaties in de argumentstring die het in de war bracht. Ook ontdekte ik dat print_r ($ argv) niet werkte zoals ik had verwacht, en moest ik direct verwijzen naar de $ var, d.w.z. $ argv [1].
toegevoegd de auteur aeroshock, de bron