| | | | |
| |||||||
| PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen |
|
| | LinkBack | Themen-Optionen | Thema bewerten |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | |
| Gast
Beiträge: n/a
| Hola, wenn ich nun alle Extensions statisch in mein PHP haenge und es wird eine Seite aufgerufen, die nur einen klein Teil oder sogar keine der Extensions nutzt, werden trotzdem alle Extensions bereit gehalten. Binde ich das ganze dynamisch ein, dann werden die jeweiligen Extensions nur geladen, wenn in meinem Quellcode versucht wird auf Funktionen der dieser Extension zuzugreifen? Die erste Methode fuehrt zu einer hoeheren Speicherbelastung, die zweite zu einem kleinen, wohl aber geringem, Geschwindigkeitsverlust. Habe ich das soweit richtig verstanden? Nun frage ich mich, ob es sowas wie eine Art Faustregel gibt, ob man eine Extension nun statisch oder dynamisch kompiliert? Oder haengt das zu sehr von den Beduerfnissen des jeweiligen Benutzers und den Besonderheiten der Extension ab? Habe nun z.B gesehen, das empfohlen wird die PDO - Erweiterung dynamisch einzubinden, damit man sie mittles PEAR unabhaengig vom restlichen PHP auf den neusten Stand bringen kann. Bis daehnnne. |
|
| | |
| Erfahrener Benutzer | Nein. Dynamische Extensions werden auch immer bereitgehalten, wenn sie in der php.ini eingestellt werden. Zu deutsch: - statische Extensions sind immer da - dynamische Extensions per php.ini sind immer da - dynamische Extensions per http://www.php.net/dl sind nur da, wenn du im Script den Befehl ausführst. Nur Methode 3 führt zu einem kleinen Geschwindigkeitsverlust in einem Apache-Modul. Methode 1 und 2 könnte höchstens ausserhalb des Apache (CGI oder CLI) eventuell einige Unterschiede geben, ansonsten ist zur Laufzeit kein Unterschied festzustellen. Der größte Unterschied ist auch Methode 3, da dies sowohl etwas gefährlich sein kann, als auch unsauber entwickelte Extensions leichter zu schwerwiegenden Fehlern führen können, wenn sie mittels "dl()" geladen werden. Ein Zitat von den Zend-Leutchens besagt: "dl() is evil". Ich denke das sagt alles aus Zur zweiten Frage: Das hängt ausschliesslich von den Bedürfnissen ab. Aber in der Regel ist es besser, die einfach komplett mit dem PHP neu zu kompilieren (ob statisch oder dynamisch ist fast egal). Ohne Apache-Neustart wird man bei Methode 1 und Methode 2 Probleme kriegen, die auf den neuesten Stand zu bringen und manchmal sind die dynamischen Module nicht kompatibel zum verwendeten PHP, was dann zu unerwarteten Problemen führen kann. Empfehlung wäre, immer neu zu kompilieren, wenn was aktualisiert wird und dann kann mans auch als statisch machen.
__________________ www.php-maven.org PHP und Maven vereint: Build/Deploy/Produktion/Konfiguration, Projekt Management, CI, PHPUnit, zahlreiche Frameworks Twitter @ https://twitter.com/#!/mepeisen und Facebook @ http://t.co/DZnKSUih |
| | |
|
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Erstellung einer Extension mit Einbindung externer DLL | Han Solo | PHP Tipps 2008 | 15 | 10.04.2008 15:36 |
| Probleme mit mbstring extension unter Debian | HStev | Server, Hosting und Workstations | 3 | 30.08.2006 20:55 |
| php5 soap extension, soap attachment | zcmaster | PHP-Fortgeschrittene | 0 | 07.08.2006 16:09 |
| PHP IMAP Extension | PHP Tipps 2007 | 8 | 30.12.2005 15:22 | |
| [Erledigt] RedHat Apache kompilieren installieren | Server, Hosting und Workstations | 5 | 20.10.2005 19:29 | |
| MySQL auf vServer neu kompilieren | bexxta | Datenbanken | 5 | 05.10.2005 00:03 |
| xmlrpc-epi kompilieren [gelöst] | freq.9 | Server, Hosting und Workstations | 4 | 24.07.2005 21:45 |
| PHP extension und PHPAdmin | PHP Tipps 2005 | 7 | 15.07.2005 14:26 | |
| [Erledigt] Bluetooth extension | PHP-Fortgeschrittene | 2 | 05.07.2005 21:29 | |
| Installieren der Extension php_iconv.dll | MerlinderZauberer | PHP Tipps 2005 | 1 | 16.04.2005 03:13 |
| PHP5 Extension | PHP Tipps 2005 | 1 | 11.01.2005 09:03 | |
| [Erledigt] SOAP/Client.php: PHP Fatal error: Method SOAP_Client::__call | PHP-Fortgeschrittene | 6 | 25.11.2004 09:48 | |

Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.