Rolf B: php verstehe Composer nicht

Beitrag lesen

Hallo Jörg,

ich habe den Composer noch nie verwendet und weiß deshalb nicht, ob der Runtime-Komponenten hat.

Auf jeden Fall muss der Autoloader ja wissen, wie er von einer Klasse incl. Namespace auf den Ort kommt, an dem der Sourcecode der Klasse gespeichert ist, und hier musst Du ansetzen.

  • was tut vendor/autoload.php - ich nehme an, dass die vom Composer mitgebracht oder generiert wird.
  • werden hier ggf. Package-Dateien oder sowas eingelesen, oder ist hier ein Stammordner hart codiert?

Ansatzpunkt ist jedenfalls die Autoload-Datei. Die registriert mittels spl_autoload_register einen Callback, der bei nicht gefundenen Klassen die richtige Codedatei nachlädt. Das ist generell keine Raketenwissenschaft, sowas habe ich selbst schon geschrieben, aber der Composer wird vermutlich relativ abstrakt an die Sache herangehen. Möglicherweise musst Du hier ein paar Logging-Anweisungen einbauen, um zu schauen, wo etwas schief geht.

Funktioniert es denn in der 7.4 Umgebung?

Und bist Du sicher, dass die Imagick-Version ein Composer-Problem ist? Mich dünkt es besser, die Zeit in einen laufenden Composer in PHP 8 zu stecken, als hier einen Workaround zu perfektionieren. Aber von ferne kann ich das natürlich nicht beurteilen, wie gravierend das Problem da ist.

Rolf

--
sumpsi - posui - obstruxi