TS: PHP include-Path und open_basedir

Beitrag lesen

Hallo und guten Morgen,

Vielleicht liegt das Missverständis an der üblicherweise falschen Sprechweise "include lädt den Code an die Stelle im Script...". Tut es ja gar nicht. Es lädt den Code an die Stelle im Arbeitsspeicher! Und der ist mMn mit PHP-Mitteln nicht abbildbar für den Programmierungs-Anwender.

  1. Und wie kommt er da hin? Wird von einer Quelle gelesen.

A er doch nicht für den Programmieranwender in seiner Domain zugreifbar. Das wird vom PHP-Laufzeitsystem für ihn gelesen und ausgeführt, aber nicht für ihn zugänglich gemacht.

Ich habe allerdings noch nicht untersucht, was die Debuggingmechanismen von PHP hier eventuell liefern. Kann ich mir mit denen den Klartext einer Methode aus einer geladenen Klasse anzeigen lassen, als Quelltext liefern lassen?

  1. Kann man ihn mit einem anderen Benutzer laden? Ja schon. Aber dann hat nur der Benutzer und dessen Prozess Zugriff auf diesem Bereich des Arbeitsspeichers ...

Du kann das drehen und wenden wie Du willst. Um ein Skript zu includen musst Du es lesen können.

Nein, nur bestimmte Funktionen meines Laufzeitsystems müssen das lesen können, in diesem Fall eben include(). Die müssen aber keine toString-Methode haben.

Grüße
TS