Interner Aufruf eines PHP-Scripts

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

SiMaKiDD

Benutzer
Registriert
14. Mai 2013
Beiträge
3
Reaktionspunkte
0
Punkte
1
Leider bin ich über die Suche nicht fündig geworden und falls das Thema hier nicht rein passt, bitte ins passende Forum verschieben.

Seit dem Update auf Version 6.x habe ich das Problem, dass bei internem Aufruf eines PHP-Scripts den Fehler bekomme, dass keine GD-Lib Funktionen verfügbar sind. Vor dem Update auf DSM 6.x (bei mir vor einigen Tagen) funktionierte das ohne Probleme. Das Script holt sich per cURL ein JPG von einer Webcam und speichert das mit imagecreatefromstring(). Folgendes Verhalten ist nun zu beobachten:

  • Aufruf übers Web funktioniert weiterhin einwandfrei
  • Aufruf über Crontab - keine Bilder vorhanden... :(
  • Als root die Konsole probiert und man erhält einen Fatal Error (Call to undefined function imagecreatefromstring())... :confused:
  • Testscript gebastelt (if(extension_loaded('gd') && function_exists('gd_info')) ,{ JA } else { NEIN }) und übers web und Konsole ausgeführt --> bei internem Aufruf wird die gd lib nicht geladen :mad::confused::confused:
  • Workaround: Aufruf des Scriptes per wget und Umleitung der Ausgaben ins Nirvana --> funktioniert, kann und sollte aber nicht die Lösung sein

Das intern aufgerufene Script wird also ausgeführt, aber die Extension(s) werden nicht geladen.
Die Rechte sind OK, die Extensions sind standardmäßig enabled und ich habe schon alle Pakete de- und neu installiert, aber das ändert nix.

Nun bin ich mit meinem Wissen am Ende und hoffe, hier hat jemand eine zündende Idee, um das Problem zu lösen?


error_syno.png
 
Probier mal /usr/bin/php56
 
Probier mal /usr/bin/php56

Das hatte ich schon mal probiert, weil ja das Paket installiert ist, aber das File php56 liegt da nicht. Aber das hat mich angestachelt, also mal intensiv danach gesucht und unter /volume1/@appstore/PHP5.6/usr/local/php56 gefunden. Allerdings funktioniert der Aufruf /volume1/...../php56 /volume1/web/gd_check.php nicht. Der Befehl file funktioniert (da) auch nicht, ich weiß also nicht was das für ein File ist. Oder darf ich es da nicht ausführen?

Noch mal PHP über Web und Konsole checked und siehe da: :eek: :eek:

  • Web = PHP Version => 5.6.21 | Configuration File (php.ini) Path => /usr/local/etc/php56
  • Konsole () = PHP Version => 5.6.11 | Loaded Configuration File => /etc/php/php.ini

Bleibt also die Fragen, warum wird beim Aufruf übers Web ein "anderes" PHP benutzt und wie rufe ich diese Version über die Konsole auf?
 
Rich (BBCode):
~# which php56
/usr/local/bin/php56

versuchs mal damit ;)
 
Rich (BBCode):
~# which php56
/usr/local/bin/php56

versuchs mal damit ;)

LÄUFT - genau das war es... :rolleyes: Warum bin ich da nicht selbst drauf gekommen? *grummel*

Vielen, vielen Dank für die schnelle und perfekte Hilfe!

@Admin: erledigt, kann geschlossen werden.
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat