phpbar.de logo

Mailinglisten-Archive

[php] Script an Kunden weitergeben - C-Programmierung

[php] Script an Kunden weitergeben - C-Programmierung

Matthias Winkelmann winkelmann_(at)_someon.com
Tue, 5 Dec 2000 23:46:27 +0100


Hallo!

> -----Original Message-----
> From: php-admin_(at)_php-center.de [mailto:php-admin_(at)_php-center.de]On Behalf
> Of Cyrill Schumacher>
>
> boing,
>
> > zend_eval_string("function test()  { echo 'test'; }", NULL);
> > RETURN_BOOL(1);
> > }
>
> wie lang bzw. wieviele chars dürfen denn maximal
> in zend_eval_string() stehen ??????
> ich denke, bestimmt auch soviel wie in PHP selber
> in einem string stehen dürfen also max. 32 KB Zeichen, oder ?

Ich habe da letztens 1600 Codezeilen untergebracht ohne PRobleme, keine
Ahnung wo das Limit ist.

> dann könnte man auch folgendes machen:
> zend_eval_string(include("meine_komplette_homepage.php3"));

Nein, da meine_komplette_homepage.php3 ja wieder frei rumliegen müßte.

>
> > cc -fpic -DCOMPILE_DL=1 -I. -I.. -I../Zend -c -o test/test.lo
> test/test.c
> > cc -shared -L/usr/local/lib -rdynamic -o test/test.so test/test.lo
>
> könnte man das test.so auch in test.php3 umkompilieren
> und es dann wie eine normale anfrage ausgeben lassen
> anstatt es mit dl() zu laden ???
> http://www.srv.tld/test.php3

Nein, aber man könnte es sicher als statisches Modul direkt in php
einkompilieren, die Funktionen würden dann überall zur Verfügung stehen ohne
dl();

>
> > Dann steht test.so als Modul zur Verfügung und kann mit dl("test.so")
> > eingebunden werden.
> > Dann noch schnell first_module(); aufrufen und schon steht die Funktion
> > test(); zur Verfügung.
>
> wie und wo rufe ich first_module() auf ???????
>
> vielleicht:
> <?php
>     dl("test.so");
>     first_module();
>     test();
> ?>

ja, genau so.
Mit dl(); wird die extension eingebunden, mit first_module(); wird der oben
definierte Codeblock ausgeführt. Dieser enthält in diesem speziellen Fall
eine Funktion die dann wiederum per test(); ausgeführt werden kann.
Eventuell könnte man noch first_modules mit einem Parameter aufrufen um nur
bestimmte codeblöcke auszugeben. IN diesen Blöcken kann natürlich auch mehr
als Funktionsdefinitionen stehen.


>
> > Natürlich könnte man noch mit if usw. unterscheidungen machen
> und jeweils
> > anderen Code ausführen. Auch könnte man später Funktionen ganz in C
> > implementieren was vielleicht auch der Performance zugute kommt.
> > Hoffe das ist einigermaßen verständlich,
>
> nein :-(
> ich werde es morgen früh mal test ob es funzt.
> wenn ja könnte man doch die ganze homepage mit bildern und datenbank
> und sowas einkompilieren :-)

Naja, das mit Client- und Serverseite kennst Du ja, die Bilder müßten immer
noch an den Browser geschickt werden.

>
> > P.S.: Die Idee ist mir auf dem php-Kongress gekommen und den
> Code habe ich
> > aus dem allseits bekannten php4 Buch und mit Hilfe von Zeev so
> > zusammengestückelt.
>
> welches php4 buch ??? es gibt soooo viele...

Das welches Egon da genannt hatte, es enthält die Zend APi Dokumentation die
es auch bei zend.com gibt glaube ich, und ich hab's leider gerade
ausgeliehen weshalb mir der Name auch entfallen ist.

Viel Spaß beim Probieren!

Matthias Winkelmann



php::bar PHP Wiki   -   Listenarchive