PHP- (MySQL-) Problem mit Aufgabenplaner

  • 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.

chrissi099

Benutzer
Registriert
03. Feb. 2014
Beiträge
35
Reaktionspunkte
0
Punkte
6
Hallo zusammen,
seit einiger Zeit (wahrscheinlich März herum?) habe ich ein Problem mit einem PHP-Script im Aufgabenplaner.
Bis dahin lief alles einwandfrei, jetzt bekomme ich Syntax-Error, wenn das PHP-Script über den Aufgabenplaner aufgerufen wird (interaktiv in Systemsteuerung oder durch passenden Zeitpunkt):

PHP Fatal error: Call to undefined function mysql_connect() in /volume1/web/StellplatzUpdater.php on line 61 Fatal error: Call to undefined function mysql_connect() in /volume1/web/StellplatzUpdater.php on line 61

Wenn ich das gleiche Script mit dem Browser aufrufe, läuft es ohne Probleme durch!
Wo muß ich suchen? Scheint so, als ob die PHP-Konfiguration für Aufrufe aus Aufgabenplaner und Aufrufe über Webserver unterschiedlich ist!

Danke für Hilfe
 
Probiere den Aufruf mit folgendem.

/usr/local/bin/php56
 
sh: /usr/bin/php56: No such file or directory

:(

Wenn ich mit Telnet nachschaue, gibt es das dort nicht.
ich habe mal phpinfo interaktiv (Abruf über Browser) und über Aufgabenplaner (Ergebnis im Logfile) verglichen, da kommen komische Parameter:

Aufgabenplaner:

Configuration File (php.ini) Path => /etc/php
Loaded Configuration File => /etc/php/php.ini
Scan this dir for additional .ini files => (none)
Additional .ini files parsed => (none)

Interaktiv:
Configuration File (php.ini) Path /usr/local/etc/php56
Loaded Configuration File /usr/local/etc/php56/php.ini
Scan this dir for additional .ini files /usr/local/etc/php56/conf.d
Additional .ini files parsed /usr/local/etc/php56/conf.d/SYNO.SDS.PhotoStation.ini, /usr/local/etc/php56/conf.d/apcu.ini, /usr/local/etc/php56/conf.d/extensions.ini, /usr/local/etc/php56/conf.d/opcache.ini, /usr/local/etc/php56/conf.d/phpMyAdmin.ini, /usr/local/etc/php56/conf.d/user-settings.ini

Die Konfiguration bei PHP-Aufruf aus Aufgabenplaner heraus wird falsch eingelesen! wie kann ich das ändern?
Danke und Gruß


EDIT:
Sorry, Mein Fehler! Dein Tip war goldrichtig, ich hatte den Pfad falsch abgetippt. Danke!!
 
Zuletzt bearbeitet:
Die Konfiguration bei PHP-Aufruf aus Aufgabenplaner heraus wird falsch eingelesen! wie kann ich das ändern?
Kurz zur Erklärung: Je nach dem ob PHP von einem Webserver aufgerufen wird oder über die Kommandozeile kommen tatsächlich unterschiedliche Konfigurationsdateien usw. zum Einsatz. Das ist ein vollkommen normales und sogar erwünschtes Verhalten.

MfG Matthieu
 
Kurz zur Erklärung: Je nach dem ob PHP von einem Webserver aufgerufen wird oder über die Kommandozeile kommen tatsächlich unterschiedliche Konfigurationsdateien usw. zum Einsatz.
Denn Sinn verstehe ich zwar nicht so ganz, aber in dem Fall wäre es dann wohl am einfachsten das Script im Aufgabenplaner einfach via wget aufzurufen
 
Denn Sinn verstehe ich zwar nicht so ganz, aber in dem Fall wäre es dann wohl am einfachsten das Script im Aufgabenplaner einfach via wget aufzurufen
Ist dir das noch nie über den Weg gelaufen? Typischer Anwendungsfall: Updates für größere Applikationen, ggf. mit Änderungen an der Datenbank, werden mit größeren Zeitlimits ausgeführt als über einen Webserver.
http://php.net/manual/de/features.commandline.php
http://www.linux-magazin.de/Ausgaben/2012/06/PHP-CLI
https://packages.debian.org/jessie/php5-cli

MfG Matthieu
 
das stimmt bei Timeouts und so. Aber unterstützte Funktionen sollten sich imho zwischen Webserver und cli nicht unterscheiden
 
Das verwendete mysql_connect ist ausgesprochen alt. Gut möglich dass der php-cli etwas strikter oder etwas aktueller ist.

@chrissi099: Du solltest sehr sehr dringend dir überlegen wie nötig du das ganze brauchst und dann entweder eine Alternative suchen oder das mysql_connect gegen eine der neueren mysql-Erweiterungen für PHP austauschen (erfordert Handarbeit am Code), idealerweise PDO.
http://php.net/manual/de/function.mysql-connect.php
Auf absehbare Zeit wird das auch mit dem Webserver-PHP nicht mehr gehen ...

MfG Matthieu
 
Das verwendete mysql_connect ist ausgesprochen alt. Gut möglich dass der php-cli etwas strikter oder etwas aktueller ist.

@chrissi099: Du solltest sehr sehr dringend dir überlegen wie nötig du das ganze brauchst und dann entweder eine Alternative suchen oder das mysql_connect gegen eine der neueren mysql-Erweiterungen für PHP austauschen (erfordert Handarbeit am Code), idealerweise PDO.
http://php.net/manual/de/function.mysql-connect.php
Auf absehbare Zeit wird das auch mit dem Webserver-PHP nicht mehr gehen ...

MfG Matthieu
Hallo Matthieu,
Danke für den Hinweis, ist inzwischen auf mysqli umgebaut. War am einfachsten für die paar Zeilen, um die es hier geht.
Gruß, Christian
 
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