Ist es möglich zu Lesen, cookie/session-Wert während der Ausführung von PHP5-Skript über die Eingabeaufforderung?
Muss ich Lesen, dass einige Werte aus dem cookie oder der session, wenn ich das ausführen meines php-Skript mit Eingabeaufforderung. Wie kann ich das tun?
Wie der Zugriff auf cookie-oder session-Wert aus der Windows-Eingabeaufforderung?
- Cookies machen keinen Sinn in einer CLI-Umgebung?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Cookies gesendet werden vom web-browser des Benutzers. Beim ausführen eines php-script von der Kommandozeile aus, gibt es keinen browser zum senden oder empfangen von cookies. Es gibt keine Möglichkeit zum Zugriff auf oder speichern von cookies, und nichts wird an das Skript gesendet werden, außer den Parametern, die Sie in der Befehlszeile übergeben werden.
That being said, es ist ein Weg zum Lesen einer Sitzung, dass jemand mit einem browser bereits aufgerufen, wenn Sie wissen, dass Ihre PHPSESSID-cookie.
Lassen Sie uns sagen, jemand zugegriffen hat Ihr Skript mit einem web-browser und Ihre PHPSESSID ist a1b2c3d4, und Sie möchten, um das Skript auszuführen mit Ihrer Sitzung. Führen Sie den folgenden Befehl in die Befehlszeile.
Wo path_to_php_script.php ist der Pfad zum php-Skript, das Sie ausführen möchten. Und tatsächlich, Sie sollten nicht haben, um die Sitzung zu starten, wenn die php-Datei, die Sie ausführen möchten, beginnt die Sitzung selbst. Also, möchten Sie vielleicht, um tatsächlich versuchen, mit diesem Befehl:
OK, jetzt lassen Sie uns sagen Sie, dass Sie nicht wollen, dass jemand Zugriff auf die session, aber Sie wollen einfach nur das Skript ausführen, als wenn Sie bereits eine session. Führen Sie den vorherigen Befehl, aber in jeder sessionid, die Sie wollen. Und Ihre Sitzung wird intakt bleiben zwischen den aufrufen des Skripts so lange wie Sie die gleichen PHPSESSID jedes mal, wenn Sie rufen Sie das Skript.
Gibt es keine cookies in der CLI, also... ja.
Übergeben Sie den gewünschten Namen für die Sitzung, die als argument oder Umgebungsvariable und verwenden Sie dann
session_name()
, um es in Ihrem Skript.Sollten Sie versuchen, diese:
Dann in deinem script, dies zu tun:
Und jetzt haben Sie Ihre Sitzung bereit benutzt zu werden!
Denken Sie daran, dass die Funktion
session_save_path()
erhalten die "default" - Pfad, in .ini-Dateien.Können Sie immer verwenden Sie einen benutzerdefinierten Pfad für das laden der Sitzung.
$_SESSION
Inhalt zurück auf die Festplatte, wenn das Skript abgeschlossen ist. Aktually alles, was er braucht, ist das session-ID, dann rufen Siesession_start()
. Zumindest unter Xampp (Windows), ich habe diese reibungslos funktioniert. Aber alle meine versuche unter Linux gescheitert. Ich habe nicht genug Zeit, um zu wissen, warum. Eine andere Sache im Auge zu behalten ist, dass die browser-Benutzer mit, dass die Sitzung warten, während der Sitzung gesperrt ist, indem Sie CLI.