php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 14-12-2009, 19:20
PHP-Desaster
 PHP Expert
Links : Onlinestatus : PHP-Desaster ist offline
Registriert seit: Mar 2006
Beiträge: 3.105
PHP-Desaster befindet sich auf einem aufstrebenden Ast
Standard Pfad zum PHP-Binary finden

Huhu,
ich befinde mich im Kontext eines über CLI ausgeführten PHP-Skriptes und möchte an den Pfad des ausführenden PHP-Binaries kommen. Ich hatte gehofft, der Pfad ist in der phpinfo oder ENV-Variable zu finden, Fehlanzeige. Klar, ich könnte auf die Suche gehen, ob ich irgendwo auf dem Rechner ein Binary finde. Mit "whereis php" auf der Shell auch recht schnell getan. Der Weg ist allerdings weder sehr schick noch Plattformunabhängig.
Hat jemand eine Idee, ob und wie ich an den Pfad des Binaries komme?
Hintergrund ist der, dass ich weitere Skripte über proc_open anstoßen möchte bzw. einige Cronjobs installieren. Und da würde ich gerne die manuelle Angabe des Pfades vermeiden.
Mit Zitat antworten
  #2 (permalink)  
Alt 14-12-2009, 19:42
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Die Konstante PHP_BINDIR sollte eigentlich das gewünschte liefern.

(Ich stelle nur gerade bei meinem Test [PHP 5.3.0/Win 7] fest, dass mir das bei Aufruf über die php.exe stur "C:\php5" meldet, obwohl die php.exe nicht mal auf dem Laufwerk liegt ... aber das kann ggf. an meiner Konfiguration liegen.)
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #3 (permalink)  
Alt 14-12-2009, 20:04
PHP-Desaster
 PHP Expert
Links : Onlinestatus : PHP-Desaster ist offline
Registriert seit: Mar 2006
Beiträge: 3.105
PHP-Desaster befindet sich auf einem aufstrebenden Ast
Standard

Ahh, die Konstante kannte ich noch nicht. Ich erhalte allerdings auch (PHP 5.2.10/Win Vista) das Verzeichnis "C:\php5" gemeldet, auch nicht korrekt. Ich habe das soeben auf einem Server (PHP 5.2.11/aktuelles Suse) getestet, dort passt der Pfad. Scheint wohl plattformabhängig gesetzt zu werden...
Mal in den Sourcecode suchen, wo das gesetzt wird...

Weitere Tipps, her damit
Mit Zitat antworten
  #4 (permalink)  
Alt 14-12-2009, 20:46
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.724
Kropff befindet sich auf einem aufstrebenden Ast
Standard

Also auf meinem XAMPP bekomme ich auch nur C:\php5. Und ich habe nichts in den Konfigurationsdateien gefunden. Auf meinem Linux-VH dagegen den korrekten Pfad.

Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #5 (permalink)  
Alt 14-12-2009, 20:47
djbrainnrg
 Registrierter Benutzer
Links : Onlinestatus : djbrainnrg ist offline
Registriert seit: Dec 2009
Beiträge: 7
djbrainnrg befindet sich auf einem aufstrebenden Ast
Standard

Ein Weg, der aber auch nicht wirklich immer funktioniert ist

PHP-Code:
<?
var_dump
($_SERVER["PHPRC"]);
?>
Wenn diese Variable gesetzt ist hast du den Binary Path.

MFG
__________________

Mit Zitat antworten
  #6 (permalink)  
Alt 14-12-2009, 20:51
PHP-Desaster
 PHP Expert
Links : Onlinestatus : PHP-Desaster ist offline
Registriert seit: Mar 2006
Beiträge: 3.105
PHP-Desaster befindet sich auf einem aufstrebenden Ast
Standard

$_SERVER["PHPRC"] ist bei mir nur im Webserver-Kontext gesetzt und enthält den Pfad zur INI-Datei.

Die PHP_BINDIR-Konstante scheint während der Kompilierung von PHP gesetzt zu werden und darum wohl unter Windows immer C:\php5 (vgl. hier).
Mit Zitat antworten
  #7 (permalink)  
Alt 14-12-2009, 22:28
PHP-Desaster
 PHP Expert
Links : Onlinestatus : PHP-Desaster ist offline
Registriert seit: Mar 2006
Beiträge: 3.105
PHP-Desaster befindet sich auf einem aufstrebenden Ast
Standard

Ich habe da jetzt mal eine kleine Klasse zusammengeschrieben und die ersten Tests sind recht erfolgreich. Klar das eine manuelle Suche nicht perfekt ist, da ich ja sonst ein Binary starten könnte. Aber testet das doch mal bitte auf von euch erreichbaren Systemen und überprüft, ob das Skript erfolgreich ist und schreibt das hier
Angehängte Dateien
Dateityp: txt determinePhpBinary.php.txt (3,8 KB, 182x aufgerufen)
Mit Zitat antworten
  #8 (permalink)  
Alt 15-12-2009, 03:00
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Ich habe die Klasse zwar nur überflogen, gar nicht erst ausprobiert. Sie kann bei mir aber auch nicht funktionieren, dein bei mir ist PHP_OS = 'Darwin' (wie bei den meisten Macs) und wegen if(stristr(PHP_OS, 'win')!==false) würde die Klasse bei mir nach einer Exe suchen.

Das kann man natürlich ganz leicht fixen. Aber wozu die Mühe? Ich habe bisher immer auf $_ENV['_'] vertraut und noch keine Installation gefunden, bei der das nicht funktioniert hätte.
Mit Zitat antworten
  #9 (permalink)  
Alt 15-12-2009, 09:17
PHP-Desaster
 PHP Expert
Links : Onlinestatus : PHP-Desaster ist offline
Registriert seit: Mar 2006
Beiträge: 3.105
PHP-Desaster befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von onemorenerd Beitrag anzeigen
Sie kann bei mir aber auch nicht funktionieren, dein bei mir ist PHP_OS = 'Darwin' (wie bei den meisten Macs) und wegen if(stristr(PHP_OS, 'win')!==false) würde die Klasse bei mir nach einer Exe suchen.
Ohh, na so kann das natürlich nicht funktionieren ^^ Sehr guter Hinweis, danke.

Zitat:
Ich habe bisher immer auf $_ENV['_'] vertraut und noch keine Installation gefunden, bei der das nicht funktioniert hätte.
Und der Hinweis ist genauso gut Danke dir! Werde ich mir mal einen Mac zum Testen suchen müssen...
Mit Zitat antworten
  #10 (permalink)  
Alt 15-12-2009, 11:40
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

Ich habe es nicht getestet, aber auf meinem (test)System dümpeln ein Dutzend php.exe und php-win.exe rum. Selbst auf den Produktionssystemen habe ich mehrere Versionen aktiv.

Wie soll es entscheiden, welche die richtige ist?

Zitat:
$_ENV['_']
Sagt bei mir:
Zitat:
Notice: Undefined index: _ in ...........
__________________
Wir werden alle sterben

Geändert von combie (15-12-2009 um 11:43 Uhr)
Mit Zitat antworten
  #11 (permalink)  
Alt 15-12-2009, 11:43
PHP-Desaster
 PHP Expert
Links : Onlinestatus : PHP-Desaster ist offline
Registriert seit: Mar 2006
Beiträge: 3.105
PHP-Desaster befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von combie Beitrag anzeigen
Wie soll es entscheiden, welche die richtige ist?
Genau das ist das Problem. Ansatz dafür wäre, alle gefundenen Binaries mit dem Parameter -v aufrufen und die Versionsnummer vergleichen. Ist aber auch Käse.

Aktuell verwende ich die Klasse so, dass ich den ersten Pfad verwende und dem Anwender als Standardeinstellung vorschlage. Es handelt sich um ein Skript zur Installation einer Software von der Shell, u.a. inklusive Cronjobeinrichtung, etc.
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Binary data als pdf ausgeben??! cos4kai SQL / Datenbanken 4 05-09-2008 10:27
FFMpeg binary Jan1049 Fragen zu Installation & Konfiguration (LAMP, WAMP & Co.) 0 17-08-2006 15:50
binary fwrite andre_s PHP Developer Forum 2 07-10-2003 14:52
binary Realmaker Linux und Unix 0 20-03-2003 22:28
Binary Daten und so o.O newhx PHP Developer Forum 4 04-10-2002 23:17

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni


 

Aktuelle PHP Scripte

HeidiSQL - kostenloses MySQL front-end Editor für Windows ansehen HeidiSQL - kostenloses MySQL front-end Editor für Windows

HeidiSQL - ist ein Windows-Editor für die bekannt open Source Datenbank mySQL

10.12.2018 Berni | Kategorie: MYSQL/ Management
piwik Open-Source Webanalyse-Software ansehen piwik Open-Source Webanalyse-Software

piwik ist eine gute Alternative zu Google Analytics. Viele Features und ein modernes Erscheinungsbild mit aussagefähigen Statistiken in Echtzeit

10.12.2018 phpler | Kategorie: PHP/ Besucherzaehler
jQuery Mobile ansehen jQuery Mobile

Touch-Optimized Web Framework für Smartphones & Tablets

09.12.2018 phpler | Kategorie: AJAX/ Framework
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 06:13 Uhr.