Wenn Sie eine PHP-Datei auf einem Server (zB via SFTP) überschreiben, während es irgendwo bearbeitet wird (vielleicht dauert es ein Skript, das mehrere Sekunden dauert), bricht es das gerade laufende Skript ab oder beendet es sogar nach dem Überschreiben geschieht? Ich denke, ich frage: lädt Apache ein PHP-Skript in den Speicher, bevor es ausgeführt wird (und hält es im Speicher für die Dauer der Ausführung)?Was passiert, wenn Sie ein PHP-Skript bearbeiten, während eine Instanz davon ausgeführt wird?
Antwort
lädt Apache ein PHP-Skript in den Speicher, bevor es ausgeführt wird (und hält es im Speicher für die Dauer der Ausführung fest)?
Ja.
Es hängt auch davon ab, ob auf Ihrem Server der APC-Cache aktiviert ist und es TTL- und Speicherbereinigungseinstellungen gibt. Wenn Sie sich hinter einem Load Balancer mit zusätzlichem Caching befinden, kann es zu Verzögerungen kommen. Aber zum größten Teil, ja, es ist im Cache gespeichert und sollte keine Wirkung haben, wenn es an Ort und Stelle bearbeitet wird. Ihr Texteditor speichert die Datei technisch ebenfalls, bis sie auf die Festplatte geschrieben wird. – Ligemer
Was passiert, wenn das Skript über die Befehlszeile ausgeführt wird? Ich nehme an, dass es für die Dauer der Ausführung immer noch in den Speicher geladen wird? – kalenjordan
Nichts. Das Skript wurde bereits im kompilierten Zustand in den Speicher geladen - egal wie lange es dauert, der Webserver lädt die neue Datei nur, wenn Sie die Seite aktualisieren.
- 1. Was passiert, wenn dieser Code ausgeführt wird?
- 2. Was passiert mit einer AsyncTask, wenn die Startaktivität gestoppt/zerstört wird, während sie noch ausgeführt wird?
- 3. Was passiert, wenn eine neue Instanz eines Objekts aufgerufen wird?
- 4. Was passiert, wenn Sie ein Programm ausführen?
- 5. Was passiert, wenn ein Prozess gespalten wird?
- 6. Was passiert, wenn Sie den ElasticSearch-Index ausführen, während der Index bereits ausgeführt wird?
- 7. Was passiert, wenn ich auf eine Aufgabe warte, die bereits ausgeführt wird oder ausgeführt wird?
- 8. Was passiert, wenn ein Ereignis ausgelöst wird
- 9. Stoppen Sie ein Ereignis ausgeführt werden, während andere passiert
- 10. Was passiert, wenn eine App übersendet wird?
- 11. Was passiert, wenn ich eine EC2-Instanz neu starte?
- 12. Was passiert, wenn Sie eine speicherprogrammierbare ausführbare Datei überschreiben?
- 13. Was passiert, wenn auf eine bereits abgeschlossene Aufgabe gewartet wird?
- 14. Was passiert, wenn ich eine Ausnahme erstelle?
- 15. Was passiert, wenn ein Framework aus einer App gelöscht wird?
- 16. Was passiert, wenn ein Wurf; Anweisung wird außerhalb des Catch-Blocks ausgeführt?
- 17. Was passiert, wenn ein Schreibvorgang auf localStorage abgebrochen wird?
- 18. Was passiert, wenn ein Lambda während des Laufs bewegt/zerstört wird?
- 19. Wie kann ich sehen, was tatsächlich passiert, wenn ein Test :: Unit-Test ausgeführt wird?
- 20. Was passiert, wenn Sie eine geschlossene Verbindung schließen?
- 21. Was passiert, wenn veröffentlicht
- 22. Was passiert, wenn wir eine Webseite aktualisieren?
- 23. Was passiert, wenn Sie eine Variable an einige Daten binden?
- 24. Was passiert, wenn ein Trigger fehlschlägt?
- 25. Was passiert während Standby und Ruhezustand?
- 26. Was passiert, wenn Sie Socket.EndConnect nie aufrufen?
- 27. Was passiert, wenn Kernel delayed_work
- 28. Was passiert, wenn eine Nachricht in MQ zurückgesetzt wird?
- 29. Was passiert eigentlich, wenn ApplicationCommands.Close
- 30. Was passiert, wenn der Browser-Agent während der Wiedergabe des Loadrunner-Webprotokollskripts geändert wird?
hängt von Ihrer Plattform ab. Windows neigt dazu, Dateien zu sperren, die verwendet/ausgeführt werden. Unix-ish-Plattformen sind nachsichtiger und erlauben Ihnen, Dateien zu löschen/zu ersetzen, während sie verwendet werden, aber nur "neue" Prozesse sehen die neuen Dateien, und bereits ausführende werden weiterhin die jetzt unsichtbare alte Datei verwenden. –