Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum>Entwickler>PHP5 versus PHP4 (eingebaut)

PHP5 versus PHP4 (eingebaut)

MacMark
MacMark13.04.0521:39
Mit OS X wird bislang PHP4 auf die Platte geschrieben. Man kann sich jedoch PHP5 installieren. Der empfohlene Installer ist
www.entropy.ch/software/macosx/php/#install
Danach zeigt eine PHP Testseite mit für phpinfo() auch die 5er Version an.

Allerdings bekommt man im Terminal nur PHP4:
php -version
PHP 4.3.10 (cli) (built: Jan 23 2005 21:23:17)
Copyright (c) 1997-2004 The PHP Group
Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies

Ich möchte aber PHP5 dort sehen wie wenn ich es direkt aufrufe wie hier:
/usr/local/php5/bin/php -version
PHP 5.0.4 (cli) (built: Apr 4 2005 17:32:28)
Copyright (c) 1997-2004 The PHP Group
Zend Engine v2.0.4-dev, Copyright (c) 1998-2004 Zend Technologies

Besonders ärgerlich ist, daß Pear die alte PHP4 Version nutzt:
pear -V
PEAR Version: 1.3.5
PHP Version: 4.3.10
Zend Engine Version: 1.3.0

Auch hier möchte ich, daß er die neue Version wie hier nutzt:
/usr/local/php5/bin/pear -V
PEAR Version: 1.3.5
PHP Version: 5.0.4
Zend Engine Version: 2.0.4-dev

Wie kriege ich das hin, daß er standardmäßig die 5er Version von PHP nutzt? Ich habe zur Zeit unter anderem /usr/bin und /usr/local/php5/bin in der PATH Umgebungsvariablen.

„@macmark_de“
0

Kommentare

kawi
kawi13.04.0521:46
Tipps zu OS X =>

(fear)(fear)O:-)
0
boehel
boehel13.04.0521:48
der war gemein
0
MacMark
MacMark13.04.0521:48
kawi
Tipps zu OS X =>

(fear)(fear)O:-)

OS X != PHP
„@macmark_de“
0
Rantanplan
Rantanplan13.04.0521:52
Setze halt /usr/local/php5/bin vor /usr/bin in PATH.
„Wenn ich nicht hier bin, bin ich auf dem Sonnendeck“
0
MacMark
MacMark13.04.0522:07
Rantanplan
Setze halt /usr/local/php5/bin vor /usr/bin in PATH.

Das habe ich probiert, allerdings scheint es keine Wirkung auf die Reihenfolge im System zu haben. Ein
echo $PATH
ergibt:
/sw/bin:/sw/sbin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/php5/bin/:/usr/local/php5/man/:/usr/local/bin:/usr/local/sbin/:/Developer/Tools/:/usr/local/share/man/:/sw/share/man/:/usr/local/mysql/bin:/usr/local/mysql/man/:/usr/X11R6/bin
was wahrscheinlich die benutzte Reihenfolge ist und der Grund, warum diese Reihenfolge in der .bashrc nichts nutzt:
Ein less .bashrc gibt:
set lang=de_DE
PATH=$PATH:/usr/local/php5/bin/:/usr/local/php5/man/:/usr/local/bin:/usr/local/sbin/:/Dev
eloper/Tools/:/usr/local/share/man/:/sw/share/man/:/usr/local/mysql/bin:/usr/local/mysql/
man/
export PATH
„@macmark_de“
0
Rantanplan
Rantanplan13.04.0522:13
Naja, wenn ich richtig sehe, steht da doch:

/usr/bin:/usr/sbin:/usr/local/php5/bin/

Also kommt /usr/bin vor /usr/local/php5/bin und damit wird das /usr/bin/php zuerst gefunden und ausgeführt.
„Wenn ich nicht hier bin, bin ich auf dem Sonnendeck“
0
MacMark
MacMark13.04.0522:19
Ja, aber in meiner .bashrc steht php5 (siehe meine Posting eins höher) ganz vorne. Die Reihenfolge der Pfade für $PATH in .bashrc scheint keine Wirkung zu haben auf die Reihenfolge der Pfade in $PATH.
„@macmark_de“
0
Rantanplan
Rantanplan13.04.0522:47
Wird die Bash als login shell aufgerufen, liest sie ~/.bash_profile ein, oder auch ~/.profile, falls das existiert.
„Wenn ich nicht hier bin, bin ich auf dem Sonnendeck“
0
Rantanplan
Rantanplan13.04.0522:49
Und, naja, mit

PATH=$PATH:/usr/local/php5/bin/

wird der Pfad hinten dran gehängt, probier doch mal

PATH=/usr/local/php5/bin/:$PATH
„Wenn ich nicht hier bin, bin ich auf dem Sonnendeck“
0
MacMark
MacMark13.04.0523:20
Meine
.bash_profile
ruft meine
.bashrc
auf

Ich habe dort nun Deinen Vorschlag ($PATH hinten dran) umgesetzt.
Funktioniert super!
Vielen Dank! Du hast meine vollen Respekt!

Zwischenzeitlich hatte ich nur Pear auf PHP5 umbiegen können mit
entsprechenden Umgebungsvariablen, die im Shellscript
/usr/bin/pear
abgefragt werden.
Die sind nun in der .bashrc auskommentiert, weil ich sie nicht mehr brauche.

Die .bashrc sieht nun so aus (Zeilenumbrüche wegdenken bei PATH):
set lang=de_DE
PATH=/usr/local/php5/bin:/usr/local/php5/man
usr/local/bin:/usr/local/sbin:/Developer/Tools:
/usr/local/share/man:/sw/share/man:
/usr/local/mysql/bin:/usr/local/mysql/man:$PATH
export PATH
# PHP_PEAR_PHP_BIN=/usr/local/php5/bin/php
# export PHP_PEAR_PHP_BIN
# PHP_PEAR_INSTALL_DIR=/usr/local/php5/lib/php
# export PHP_PEAR_INSTALL_DIR

Der Vollständigkeit halber poste ich auch noch meine .bash_profile:
. .bashrc
test -r /sw/bin/init.sh && . /sw/bin/init.sh

Eine .profile nutze ich momentan keine.

Eventuell nehme ich die PHP_PEAR Variablen wieder mit ins Boot. Schaden tun sie nicht. Vielleicht brauch ich sie noch.

Kann ich heute doch noch schlafen gehen - sowas läßt mir ja keine Ruhe
„@macmark_de“
0
Neum
Neum13.04.0523:26
Und das kannst du dann bei Tiger nochmal ueben
0
MacMark
MacMark13.04.0523:37
Neum
Und das kannst du dann bei Tiger nochmal ueben

Nein, denn die Einstellungen bleiben erhalten, weil sie in der Userdomain liegen. Und die Installation von PHP5 bleibt erhalten, weil sie ebenfalls
nicht in der Systemdomain liegt.
All das packt auch Tiger nicht an, weil es ein Unix ist und zwischen
den Domains für System, Network, Local und User trennt.
Ich werde es also mit Tiger nicht üben müssen, genauso wie ich bei
Panther nichts dergleichen "üben" mußte. Die Vorteile von Unix.
„@macmark_de“
0
stiffler
stiffler13.04.0523:54
Benutze doch einfach MAMP,
damit kannst du einfach zwischen V4 und V5 wechseln.
„To understand recursion you need to understand recursion“
0
MacMark
MacMark14.04.0500:00
stiffler
Problem ist bereits gelöst.
Ich möchte direkt mit OS X arbeiten, nicht mit einer
Parallelinstallation der Tools. Dann lernt man mehr
über das System.
„@macmark_de“
0

Kommentieren

Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.