php Skripte in der Konsole ausführen

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

monchi

Benutzer
Registriert
16. Feb. 2012
Beiträge
109
Reaktionspunkte
0
Punkte
0
Hi,

ich würde gerne php Skripte nicht nur vom Webserver ausführen lassen, sondern in speziellen Fällen diese auch per Hand in der Konsole starten.

Ich benötige die php-Erweiterung PEAR, welche ich per IPKG nachinstalliert habe. Hierbei wird automatische eine zweite php-Installation vorgenommen (mit der 1. meine ich die vorinstallierte).
Die Webapplikation läuft soweit einwandfrei. Hier für musste ich "include_path = ".:/php/includes:/opt/share/pear"" in die "'/usr/syno/etc/php.ini" eintragen und ":/opt/share/pear " unter 'Webdieste -> PHP – Einstellungen ->open_basedir' hinzufügen.


Mein Problem:
Wenn ich nun php-Skripte direkt in der Konsole durch "php beispiel.php" starte brechen die meisten Skripte mit Fehlermeldungen wie dieser (oder ähnlich) ab: "PHP Fatal error: Call to undefined function mysql_pconnect() in"

Ich denke das Problem liegt darin das für das Ausführen in der Konsole die zweite php-Installation genutzt wird, welche nicht korrekt konfiguriert ist.

NAS> php --ini
Configuration File (php.ini) Path: /opt/etc
Loaded Configuration File: /opt/etc/php.ini
Scan for additional .ini files in: /opt/etc/php.d
Additional .ini files parsed: (none)

Gibt es eine Möglichkeit dies zu ändern. D.h. Ich würde gerne das alls Skripte (egal ob vom apache oder manuelle aus der Konsole gestarte) mit der "vorinstallierten version PHP" ausgeführt werden
 
welchen Pfad hast du denn zum PHP Interpreter angegeben? Und was hast du im php File selber als Pfad (SheBang-Zeile)? Wenn du den kompletten Pfad zum korrekten PHP Interpreter angibst, sollten eigentlich keine Fehler kommen
 
ich hatte gar keinen Pfad angegeben.

"/usr/bin/php beispiel.php" hat mein Problem gelöst.

Herzlichen Dank!
 
Und wenn du im PHP-File selber als allererste Zeile
Code:
#!/usr/bin/php
machst und danach noch chmod +x /pfad/zu/beispiel.php dann kannst du dir die Angabe des Interpreters beim Aufruf auch ganz sparen
Code:
./beispiel.php
sollte dann funzen :-)
 
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