php Skripte in der Konsole ausführen

Status
Für weitere Antworten geschlossen.

monchi

Benutzer
Mitglied seit
16. Feb 2012
Beiträge
109
Punkte für Reaktionen
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
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
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
 

monchi

Benutzer
Mitglied seit
16. Feb 2012
Beiträge
109
Punkte für Reaktionen
0
Punkte
0
ich hatte gar keinen Pfad angegeben.

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

Herzlichen Dank!
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
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