Sie sind nicht angemeldet.

Anzeigen

**Wir werden in den kommenden Tagen einen Umzug auf einen neuen Server durchführen. Im Rahmen dieser Maßnahme wird das Forum ca. 1 Stunde nicht erreichbar sein.** nslu2-info.de ist ein privates Projekt von mir, welches jeden Monat aus eigener Tasche finanziert wird. Mit einer freiwilligen Spende wird der Erhalt und der weitere Ausbau dieses Forums unterstützt. Um mich beim Erhalt des Forums zu unterstützen, kannst Du entweder via Flattr oder Paypal spenden. Ich bedanke mich schon jetzt bei allen Unterstützern.

Lieber Besucher, herzlich willkommen bei: Die NSLU2 Community****wenns ums speichern und streamen geht****. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

John

Anfänger

  • »John« ist der Autor dieses Themas

Beiträge: 20

Wohnort: Hannover

Beruf: IT sklave

  • Nachricht senden

1

Sonntag, 16. April 2006, 10:23

MiniLamp PHP 5.04 frage

Hat jemand ne ahnung wie ich der "php calendar extension" aktiviern kann?

John

Anzeigen

2

Sonntag, 16. April 2006, 18:15

Sind die nicht in PHP5 bereits standardmässig integriert?

PHP-Quelltext

1
2
3
4
5
6
<?php

$i cal_days_in_month(1,1,2006);
print("$i\n");

?>

ergibt 31.

Whatever

Anzeigen

John

Anfänger

  • »John« ist der Autor dieses Themas

Beiträge: 20

Wohnort: Hannover

Beruf: IT sklave

  • Nachricht senden

3

Montag, 17. April 2006, 09:33

php kalender funkion geht nicht

Zitat von »whatever«

Sind die nicht in PHP5 bereits standardmässig integriert?

PHP-Quelltext

1
2
3
4
5
6
<?php
 
$i cal_days_in_month(1,1,2006);
print("$i\n");
 
?>

ergibt 31.

Whatever



leider kommt "Fatal error: Call to undefined function cal_days_in_month() in /opt/var/appWeb/web/test.php on line 8"

ich habe keine ahnung vom php, vieleicht ist mein code falsch ?

Test.php
<html>
<head>
<title>PHP-Test</title>
</head>
<body>
<?php
$i = cal_days_in_month(1,1,2006);
print("$i\n");
?>
</body>
</html>
<?php



Regards John

4

Montag, 17. April 2006, 13:25

Stimmt.
Das Programm funktioniert jedoch, wenn man es mit "php test.php" manuell aufruft.
Das liegt daran, dass der appWeb Server standardmässig nicht das installierte Linux "PHP" aufruft, sondern ein eigenes integriertes PHP Modul verwendet.

Und in diesem scheint die Calendar-Funktion nicht einkompiliert worden zu sein.

Es gibt jedoch die Möglichkeit, anstatt des integrierten PHP Moduls, einen externen PHP Handler zu verwenden.

Siehe dazu auch http://www.appwebserver.org/products/app…/guide/php.html

Whatever

John

Anfänger

  • »John« ist der Autor dieses Themas

Beiträge: 20

Wohnort: Hannover

Beruf: IT sklave

  • Nachricht senden

5

Montag, 17. April 2006, 15:40

wird getestet, Danke :)

John

John

Anfänger

  • »John« ist der Autor dieses Themas

Beiträge: 20

Wohnort: Hannover

Beruf: IT sklave

  • Nachricht senden

6

Dienstag, 18. April 2006, 15:33

habe php runtergeladen,
./configure \
--cache-file=config.cache \
--disable-debug \
--disable-rpath \
--enable-bcmath \
--enable-calendar \
--enable-experimental-zts \
--enable-embed=shared \
--enable-force-cgi-redirect \
--enable-ftp \
--enable-inline-optimization \
--enable-magic-quotes \
--enable-memory-limit \
--enable-mbstring \
--enable-mbstr-enc-trans \
--enable-mbregex \
--enable-pic \
--enable-safe-mode \
--enable-sockets \
--enable-track-vars \
--enable-trans-sid \
--enable-wddx \
--sysconfdir=/opt/var/appWeb \
--with-exec-dir=/opt/var/appWeb/exec \
--with-db4 \
--with-mysql \
--with-regex=system \
--with-pear \
--with-xml \
--with-xmlrpc \
--with-zlib

ausgeführt, dan habe ich versucht make auszuführen... eek! kein gcc!

muss ich das auf ein fremd system kompaliern?

7

Dienstag, 18. April 2006, 16:13

Hallo!

PHP ist doch bereits installiert und muss nicht extra heruntergeladen und kompiliert werden.

Man kann natürlich auch auf der NSLU2 native kompilieren aber dazu müssen zuvor die Entwicklungsumgebung installiert werden. Infos dazu gibt es unter http://www.nslu2-linux.org/wiki/HowTo/HomePage (HowTos) in den Sectionen "Native Development" und "Cross Development".

Teste mal "php test.php" (mit Deinem unten beschriebenen php-Programm)
das sollte funktionieren ohne dass etwas installiert / kompiliert werden muss.

Dann musst Du appWeb nur noch so konfigurieren, dass er das externen PHP Programm aufruft und verwendet, anstatt des internen PHP Moduls des appWeb Servers.

Whatever

John

Anfänger

  • »John« ist der Autor dieses Themas

Beiträge: 20

Wohnort: Hannover

Beruf: IT sklave

  • Nachricht senden

8

Dienstag, 18. April 2006, 22:52

php test.php geht, aber nach mehre stunden studiern der appWeb.conf sehe ich nicht wie ich das umstelle.

LoadModule php5 libphp5Module
AddHandler php5Handler .php

musste ausreichen, aber leider kein erfolg. hat es was zu tun mit der verzeichniss angabe in der config?

LoadModulePath /opt/lib ? John

9

Mittwoch, 19. April 2006, 10:47

Hallo John,

dein Auszug aus der appWeb.conf zeigt die Verwendung des INTERNEN PHP handlers, nicht des externen.

Schau mal ganz unten auf der Seite: http://www.appwebserver.org/products/app…/guide/php.html

da steht:

Zitat

Using PHP via CGI

If you need to use PHP via CGI, be aware that PHP will run much more slowly. This will be especially aparent for small scripts where the load time for each script will be the dominant overhead.

To use PHP via CGI, you will need to disable the PHP module if you want your script to use the ".php" extension. If your scripts do not use this extension, you can keep the PHP module enabled. To enable PHP via CGI, add (or uncomment) the following lines in the appWeb configuration file :

AddHandler cgiHandler .cgi .cgi-nph .bat .cmd .pl .py
Action application/x-appWeb-php /usr/bin/php


To disable the PHP module, ensure that you have commented out the following lines:

# LoadModule php5 libphp5Module
# LoadModule php4 libphp4Module
# AddHandler php4Handler .php
# AddHandler php5Handler .php


When PHP is started as a CGI interpreter, it expects that the SCRIPT_FILENAME environment variable be set to the name of the script to execute. In early version of PHP, it incorrectly looked at PATH_TRANSLATED to have the name of the script. To ensure that PHP behaves correctly and looks in SCRIPT_FILENAME, ensure that the cgi.fix_pathinfo is set to 1 in the php.ini file.


Versuch das mal. Damit müsste das EXTERNE PHP (also das Programm PHP) anstatt des interenen PHP Handlers aufgerufen werden.
Das entspricht dann einem Aufruf wie bei "php test.php" aus der shell.


Whatever

John

Anfänger

  • »John« ist der Autor dieses Themas

Beiträge: 20

Wohnort: Hannover

Beruf: IT sklave

  • Nachricht senden

10

Mittwoch, 19. April 2006, 18:13

duh! der cgi hat mich irritiert, ich dachte es hat nichts zutun mit der php aufs system! Alles klar, danke für dein geduld.


ps. do I qualify for dummy of the week?

11

Sonntag, 23. April 2006, 14:18

Hallo John,

ich habe eine einfachere Möglichkeit gefunden die calendar Funktion zu aktivieren:

Kopiere einfach die php.ini Datei ("/opt/etc/php.ini") in das Verzeichnis "/opt/var/appWeb"

Das Problem ist nämlich, dass die "/opt/etc/php.ini" Datei gar nicht geladen wird (wenn der interne appWeb PHP Handler benutzt wird). Wenn man die Datei dagegen in das angegebene Verzeichnis kopiert, wird sie benutzt. Und in der php.ini steht nämlich drin, dass Extensions im Verzeichnis "/opt/lib/php/extensions" zu finden sind. Und dort gibt es auch "calendar" (und weitere).

Das heisst: appWeb (bzw der PHP Handler) sucht die php.ini Datei nicht unter "/opt/etc" sondern im appWeb root Verzeichnis.
Damit müssen alle Änderungen an der php.ini sinnvollerweise immer synchron in beiden Verzeichnissen erfolgen.

Whatever

John

Anfänger

  • »John« ist der Autor dieses Themas

Beiträge: 20

Wohnort: Hannover

Beruf: IT sklave

  • Nachricht senden

12

Sonntag, 23. April 2006, 22:04

Hi Whatever,

Das ist super, geht prima. danke für deine hilfe, über cgi war es zu langsam.

:) :) :)

13

Montag, 24. April 2006, 10:18

Gern geschehen.

Anstatt die php.ini zu kopieren (und somit immer das Problem zu haben beide Versionen aktuell zu halten), ist es auch möglich einen Link zu erstellen. In das /opt/var/appWeb Verzeichnis wechseln und dann:

Quellcode

1
/opt/var/appWeb# ln -s /opt/etc/php.ini php.ini


Damit wird dann immer die /opt/etc/php.ini Datei benutzt.

Whatever

John

Anfänger

  • »John« ist der Autor dieses Themas

Beiträge: 20

Wohnort: Hannover

Beruf: IT sklave

  • Nachricht senden

14

Montag, 24. April 2006, 19:15

Hi Whatever,

geht prima, zu erst musste ich ein "rm php.ini" in der apWeb verzeichniss machen und nach ein reboot funkionierte es prima, besten dank:)


John

oliver69

Schüler

Beiträge: 111

Firmwareversion / your current Firmware: originale Firmware 2.3r24

  • Nachricht senden

15

Mittwoch, 26. April 2006, 23:07

Jetzt weiss ich auch warum ich trotz Änderung der php.ini meine Programme zu Laufen gebracht habe...nun gehts.

Oliver

Social Bookmarks