Interner Aufruf eines PHP-Scripts

Status
Für weitere Antworten geschlossen.

SiMaKiDD

Benutzer
Mitglied seit
14. Mai 2013
Beiträge
3
Punkte für Reaktionen
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
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.172
Punkte für Reaktionen
922
Punkte
424
Probier mal /usr/bin/php56
 

SiMaKiDD

Benutzer
Mitglied seit
14. Mai 2013
Beiträge
3
Punkte für Reaktionen
0
Punkte
1
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?
 

jugi

Benutzer
Mitglied seit
07. Apr 2011
Beiträge
1.853
Punkte für Reaktionen
0
Punkte
56
Rich (BBCode):
~# which php56
/usr/local/bin/php56

versuchs mal damit ;)
 

SiMaKiDD

Benutzer
Mitglied seit
14. Mai 2013
Beiträge
3
Punkte für Reaktionen
0
Punkte
1
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