Entropy PHP 5.2.0 parst nicht.

K

koli.bri

Hallo.

mich knutscht gerade ein Elch...

ich hab heute meinen Mac mal von Grund auf neu gemacht. Ich hab also ein komplett frisches System vor mir (bis auf ein installiertes iWork und Office ;) ).

der Einfachheit halber habe ich dann für PHP das Packet von entropy genommen, wies auch in dem Tutorial-Fred drinsteht.
Hier die URL aus dem Fred, für ganz faule: ]http://www.entropy.ch/software/macosx/php/]
Alles zweimal durchgelesen, runtergladen (PHP 5.2.0 for Apache 1.3, also der erste, einzig fette Link).

Entpackt, installiert, und zum Test eine Datei mit folgenden Inhalt erstellt:
PHP:
<?
phpinfo();
?>

Als test.php im Ordner "Web Sites" Abgespeichert, "localhost/~odin/test.php" via Safari aufgerufen und volia: eine Leere Seite.

Die Anzeige des Quelltextes liefert:
PHP:
<?
phpinfo();
?>
Also wurde die Datei wohl nicht gepast (aber wohl mit dem richtigen mime/type "gesendet", da er sie nicht als reinen Text interpretiert)

Also mach ich mich auf die Fehlersuche:

httpd.conf:
Steht alles richtig drin:
am Ende dez Datei steht:
Code:
Include /private/etc/httpd/users/*.conf
Im Ordner "/private/etc/httpd/users/" finde ich ein Alias zur Datei "usr/local/php5/entropy-php.conf", mit folgenden Inhalt:

Code:
#
# Additional PHP Apache directives,
# part of the entropy.ch PHP package for Mac OS X
#
# For more information, go to http://www.entropy.ch/software/macosx/php/
#

LoadModule php5_module        /usr/local/php5/libphp5.so

<IfDefine APACHE1>
AddModule mod_php5.c
</IfDefine>

<IfModule mod_php5.c>

    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps

    <IfModule mod_dir.c>
        DirectoryIndex index.html index.php
    </IfModule>

</IfModule>

Zudem ist in dem Ordner "etc/httpd/users/" noch eine *.conf-Datei mit meinem Benutzernamen und folgenden Inhalt:
Code:
<Directory "/Users/odin/Sites/">
    Options Indexes MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

Websharing hab ich bereits an und aus gemacht, sowie einen kompletten neustart des Rechners.
Mein Terminalfenster sieht so aus (nach einem Websharing an und aus, sowie einem aufruf der test.php )


Code:
Last login: Sat Dec 23 22:13:34 on ttyp1
Welcome to Darwin!
localhost:~ odin$ tail -f /var/log/httpd/error_log
[Sat Dec 23 22:14:32 2006] [notice] Apache/1.3.33 (Darwin) PHP/5.2.0 configured -- resuming normal operations
[Sat Dec 23 22:14:32 2006] [notice] Accept mutex: flock (Default: flock)
[Sat Dec 23 22:15:12 2006] [notice] caught SIGTERM, shutting down
Processing config directory: /private/etc/httpd/users/*.conf
 Processing config file: /private/etc/httpd/users/+entropy-php.conf
 Processing config file: /private/etc/httpd/users/kolibri.conf
 Processing config file: /private/etc/httpd/users/odin.conf
[Sat Dec 23 22:15:15 2006] [alert] httpd: Could not determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
[Sat Dec 23 22:15:15 2006] [notice] Apache/1.3.33 (Darwin) PHP/5.2.0 configured -- resuming normal operations
[Sat Dec 23 22:15:15 2006] [notice] Accept mutex: flock (Default: flock)
[Sat Dec 23 22:15:25 2006] [error] [client 127.0.0.1] File does not exist: /Library/WebServer/Documents/favicon.ico

So, und nun bin ich mit meinem Latein am Ende.

Wo ist diese winzige Kleinigkeit, die ich übersehen habe? Was hab ich falsch gemacht? Und warum mache ich mir um so was gedanken, während nebenan Indiane Jonse läuft?

mfg
Lukas
 
Probier mal, ob er mit <?php parst....

Dann kann es nämlich sein, dass du in der php.ini einstellen musst, dass er auch die Kurzbezeichnung nimmt....
 
Badener, du bist mein persönlicher Held des Tages :hug:

:freu:

Genau das wars :D

danke
und gruß
Lukas
 
das hatte mich seinerzeit auch übel irritiert weil ich bis dahin alle php-skripte nur mit <? erstellt habe
 
Jo - hab da auch schon 2 Tage rumgesucht - den Tipp hatte ich hier aus dem Forum ;) aber ich finde den Thread auch nicht mehr... :rolleyes:
 
Aber, wie Badener schon geschrieben hat, in der php.ini kann man das ändern :)
Wo die liegt, kann man via Terminal mittels locate herausfinden, oder, was einfacher ist:

PHP:
<?php
phpinf();
?>

Ich weiß leider nicht mehr, wie der geneua Parameter heißt, aber ich meine, wenn man nach "short" sucht, kommt man irgendwann da hin. (Short-Tags, heißt das meine ich, das müsste man dall erlauben (enalbe, Wer muss auf "On" gesetzt werden, wenn ich mich nicht irre).

Danach den Server übers Webharing einmal aus und dann wieder anmachen und dann klappe auch Scripte mit <? ?>.

gruß
Lukas
 
Die Option lautet:

Code:
short_open_tag = On

es sind diese permanenten Wechsel in der default-ini, die einem echt Zeit kosten können! Wer nutzt denn von sich aus Long-Tags!? :kopfkratz:
 
In welche Datei muß das short_open_tag = On genau?
Ich schreib nämlich auch mit <?php..., könnte man sich ein paar Tastenklicks ersparen.

Ich benutze auch PHP5 von entropy.
 
Badener schrieb:
/usr/local/php5/lib/php.ini


Stimmt nur für entropy.ch-Versionen ;)

Die Variable ist Teil der php.ini, wo diese für das jeweils aktive PHP-Modul erwartet wird, verrät einem PHP-Selbst, mit dem berühmten Info-Skript:

Code:
<?
phpinfo();
?>

einfach in der Ausgabe nach php.ini suchen und den Pfad notieren!
 
Dann aber mit
Code:
<?php
phpinfo();
php?>

Sein Parser kann die Kurzform <? ja nicht ;)

Da ich bisher nur die entropy-Versionen benutzt habe, habe ich auch den Pfad /usr/local/php5/lib/php.ini angegeben - hatte nicht daran gedacht, dass es andere "Quellen" gibt ;)
 
Zurück
Oben Unten