PHP - Funktionen als Modul?
PHP - Funktionen als Modul?
Hallo,
ich habe zur Zeit in meinem Projekt eine ca. 2000 Zeilen (80 KB) große include Datei mit Funktionen.
Ist es möglich ohne Zend Guard diese Funktionen in eine Art Modul zu wandeln das im Apache bzw als Extention bei PHP geladen wird, damit die Datei nicht immer geöffnet wird, sonderndiese Funktionen standartmäßig bereit stehen.
Ist es alternativ Möglich Apache / PHP anzuweisen diese Datei im Ram zu chachen?
Auf dem Server läuft nur dieses Projekt.
Vielen Dank
ich habe zur Zeit in meinem Projekt eine ca. 2000 Zeilen (80 KB) große include Datei mit Funktionen.
Ist es möglich ohne Zend Guard diese Funktionen in eine Art Modul zu wandeln das im Apache bzw als Extention bei PHP geladen wird, damit die Datei nicht immer geöffnet wird, sonderndiese Funktionen standartmäßig bereit stehen.
Ist es alternativ Möglich Apache / PHP anzuweisen diese Datei im Ram zu chachen?
Auf dem Server läuft nur dieses Projekt.
Vielen Dank
Re: PHP - Funktionen als Modul?
Wenn Du eine eigene Extension schreiben willst, die Deine Funktionen bereitstellt, dann wirf mal einen Blick auf http://www.php.net/manual/de/internals2 ... eleton.php - leider ist die Entwickler-Doku zu PHP5 allerdings noch recht unvollständig... Ich würde mir eine bestehende Extension wie z. B. die Suhosin-Extension vornehmen, die Struktur nachvollziehen und darauf aufbauend dann meine eigene Extension bauen. Dass Du dazu Deinen Code von PHP nach C portieren musst, ist Dir aber hoffentlich klar?
Zu Deiner zweiten Frage: Du kannst mit einem Bytecode-Cache wie APC arbeiten. Wenn Du mit tmpfs ein Verzeichnis für APC bereitstellst, liegen die gecached-ten Dateien im RAM.
Zu Deiner zweiten Frage: Du kannst mit einem Bytecode-Cache wie APC arbeiten. Wenn Du mit tmpfs ein Verzeichnis für APC bereitstellst, liegen die gecached-ten Dateien im RAM.
Re: PHP - Funktionen als Modul?
Wie kann es eigentlich sein, dass ein PHP Script mit 100 KB wenn ich es include 1 MB Speicher bereitstellt? obwohl dieses nur aus Funktionen ebsteht, die noch nicht aufgerufenw erden?
Re: PHP - Funktionen als Modul?
Weil Includes beim Parsen immer vollständig (gegebenenfalls auch mehrfach) inkludiert werden, egal wieviel Code daraus wirklich benötigt wird.
PayPal.Me/JoeUser ● FreeBSD Remote Installation
Wings for Life ● Wings for Life World Run
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
Wings for Life ● Wings for Life World Run
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
Re: PHP - Funktionen als Modul?
Die Datei ist 100 KB groß und enthält keine weitere Includes. Wenn ich davor und danach "memory_get_usage()" ausführe erhalte ich 1 MB RAM verbrauch.
Vielen Dank für die Infos
Vielen Dank für die Infos
Re: PHP - Funktionen als Modul?
In dem Include verwendest Du garantiert weitere Funktionen, auch "PHP-Befehle" sind Funktionen, und diese benötigen nunmal Speicher...
PayPal.Me/JoeUser ● FreeBSD Remote Installation
Wings for Life ● Wings for Life World Run
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
Wings for Life ● Wings for Life World Run
„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.
-
Roger Wilco
- Posts: 5923
- Joined: 2004-05-23 12:53
Re: PHP - Funktionen als Modul?
DjBennyF wrote:Die Datei ist 100 KB groß und enthält keine weitere Includes. Wenn ich davor und danach "memory_get_usage()" ausführe erhalte ich 1 MB RAM verbrauch.
Code: Select all
$ ls -ls test.php
4 -rw-r--r-- 1 user users 88 31. Jan 21:55 test.php
$ cat test.php
<?php
for($i=0; $i<100000; $i++) $a[$i] = 'abcde';
echo memory_get_usage()."n";
?>
$ php test.php
25975328Kurzum: Die Dateigröße hat nichts mit dem Speicherverbrauch des Skripts zu tun. Da gibt es ganz andere Faktoren...
Re: PHP - Funktionen als Modul?
Es gibt manchmal diskussionen die ins lächerliche gezogen werden. Mir ist durchaus bekannt aus C Programmen, dass man Speicher zulaufen lassen kann.
Wenn ich 100 KB Funktionen lade, diese aber nicht aufrufe, hätte ja auch eine andere Sache den Speicher reservieren können.
Vielen Dank aber für die Informatioen bisher
Diese Funktion wird ja auch nicht ausgeführt nur weil sie geladen wird...
Wenn ich 100 KB Funktionen lade, diese aber nicht aufrufe, hätte ja auch eine andere Sache den Speicher reservieren können.
Vielen Dank aber für die Informatioen bisher
Code: Select all
function GuteHilfe() {
for($i=0; $i<100000; $i++) print "Hilft mir immer weitern";
}
//GuteHilfe()

