Changeset 4616
- Timestamp:
- 09/07/10 21:10:11 (17 months ago)
- Location:
- trunk/doc/manuals/developer/manual/de
- Files:
-
- 2 edited
-
kapitel03-entwicklungseinstieg.asc (modified) (3 diffs)
-
kapitel05-framework.asc (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/doc/manuals/developer/manual/de/kapitel03-entwicklungseinstieg.asc
r4577 r4616 283 283 In dieser Datei kann manuell der Vhost "ServerName clansuite-dev.com", 284 284 sowie "ServerAlias www.clansuite-dev.com" hinzugefügt werden. 285 Alternativ kann die Datei einfach mit der Version aus dem Clansuite SVN ersetzen.285 Alternativ kann man die Datei einfach mit der Version aus dem Clansuite SVN ersetzen. 286 286 Die entsprechende Datei gibts hier: http://svn.gna.org/svn/clansuite/trunk/build-tools/xampp/httpd-vhosts.conf 287 288 .Beispielinhalt für "httpd-vhosts.conf" 289 [source, txt] 290 --------------------------------------------------------------------- 291 NameVirtualHost *:80 292 293 <VirtualHost *:80> 294 ServerName localhost 295 ServerAlias localhost 296 DocumentRoot "D:/xampplite/htdocs" 297 ErrorLog "D:/xampplite/apache/logs/localhost-error.log" 298 CustomLog "D:/xampplite/apache/logs/localhost-access.log" common 299 300 <Directory "D:/xampplite/htdocs"> 301 Options Indexes FollowSymLinks 302 AllowOverride All 303 Order allow,deny 304 Allow from all 305 </Directory> 306 </VirtualHost> 307 308 <VirtualHost *:80> 309 ServerName clansuite-dev.com 310 ServerAlias www.clansuite-dev.com 311 DocumentRoot "D:/xampplite/htdocs/work/clansuite/trunk" 312 ErrorLog "D:/xampplite/apache/logs/www.clansuite-dev.com-error.log" 313 CustomLog "D:/xampplite/apache/logs/www.clansuite-dev.com-access.log" common 314 315 <Directory "D:/xampplite/htdocs/work/clansuite/trunk"> 316 Options Indexes FollowSymLinks 317 AllowOverride All 318 Order allow,deny 319 Allow from all 320 </Directory> 321 </VirtualHost> 322 --------------------------------------------------------------------- 287 323 288 324 Damit das System diese URL auf den lokalen Server umleitet, muss noch die "hosts"-Datei … … 301 337 302 338 Download 303 Falls "php_xdebug.dll" nicht vorhanden ist, dann von http://xdebug.org/ downloaden.339 Falls "php_xdebug.dll" nicht vorhanden ist, dann kann man sie von http://xdebug.org/ downloaden. 304 340 Entsprechend umbenennen und ins Verzeichnis "C:\xampplite\php\ext" ablegen. 341 342 Um die richtige Binary für Xdebug zu finden kann auf die Projektwebseite zurückgegriffen werden. 343 Unter http://www.xdebug.org/find-binary.php findet man ein Formular um den Inhalt der eigenen phpinfo() 344 Ausgabe zu posten. Nach der Auswertung der Versionsangaben der Serversoftware, wird die entsprechende 345 Xdebug-Binary und eine Installationsanleitung dafür angezeigt. 346 347 .Tailored Installation Instructions for Xdebug 348 [source, txt] 349 --------------------------------------------------------------------- 350 Summary 351 352 * Xdebug installed: no 353 * Server API: Apache 2.0 Handler 354 * Windows: yes - Compiler: MS VC6 - Architecture: x86 355 * Zend Server: no 356 * PHP Version: 5.3.1 357 * Zend API nr: 220090626 358 * PHP API nr: 20090626 359 * Debug Build: no 360 * Thread Safe Build: yes 361 * Configuration File Path: no value 362 * Configuration File: D:\xampplite\php\php.ini 363 * Extensions directory: D:\xampplite\php\ext 364 365 Instructions 366 367 1. Download php_xdebug-2.1.0-5.3-vc6.dll 368 2. Move the downloaded file to D:\xampplite\php\ext 369 3. Edit D:\xampplite\php\php.ini and add the line 370 zend_extension = D:\xampplite\php\ext\php_xdebug-2.1.0-5.3-vc6.dll 371 4. Restart the webserver 372 --------------------------------------------------------------------- 305 373 306 374 XDebug in der php.ini einschalten … … 326 394 Eine ausführliche Anleitung zum Thema "Wie installiere ich XDebug?" findet sich in Kapitel 16 (Der Webserver). 327 395 396 .Xdebug-Einstellungen für Debugging mit Netbeans IDE 397 [source, txt] 398 --------------------------------------------------------------------- 399 # In der php.ini folgende Werte setzen: 400 xdebug.idekey = netbeans-xdebug 401 xdebug.remote_enable = on 402 xdebug.remote_handler = dbgp 403 xdebug.remote_host = localhost 404 xdebug.remote_port = 9001 405 --------------------------------------------------------------------- 406 328 407 ==== Einfache Texteditoren 329 408 -
trunk/doc/manuals/developer/manual/de/kapitel05-framework.asc
r4577 r4616 1147 1147 ==== Clansuite_Cache 1148 1148 1149 Die Klasse Clansuite_Cache ermöglicht den Zugriff auf die verschiedenen Cache-Adapter. 1149 Die Klasse Clansuite_Cache ermöglicht die Zwischenspeicherung von Daten im Rahmen eines Applikations-Caches. 1150 Eine Zwischenspeicherung bietet sich bei Daten an, die in ihrer Herstellung rechenintensiv sind oder sehr 1151 häufig verwendet werden. Durch das Vorhalten im System sind sie bei Bedarf schnell erneut abrufbar. Dazu kann 1152 auf verschiedene Cache-Adapter zurückgegriffen werden. Die unterschiedlichen Cache-Adapter dienen einerseits 1153 dazu unterschiedliche PHP-Extensions zu unterstützen, andererseits aber auch dazu die Art und den Ort des 1154 Zwischenspeichers genauer zu bestimmem. Als Ablageorte kommen der Hautpspeicher und Festplatte in Betracht. 1155 1156 .Überblick PHP Caching-Extensions 1157 Für PHP lassen sich inzwischen verschiedene Caching-Extensions finden. 1158 Anzuführend sind beispielsweise die Standardbibliotheken Alternative PHP Cache (APC) und WinCache, 1159 sowie eAccelerator, XCache, ionCube Loader (früher PHP Accelerator) und Zend Optimizer. 1160 Gemeinsam ist diesen Erweiterungen, dass sie in C implementiert sind und direkt an der ZendEngine ansetzen, 1161 um eine Leistungssteigerung zu bewirken. Die Leistungssteigerung bewirkt regelrechte Performcesprünge. 1162 Dabei sind Performcesprünge von 200% bis 500% durchaus mess- und beobachtbar. 1163 1164 Zudem bewirkt der Einsatz dieser Caches, dass sich die Load des Webservers deutlich spürbar mindert. 1165 Der leistungssteigernde Caching-Effekt lässt sich durch einfaches Aktivieren der Erweiterung herbeiführen. 1166 In wenigen Fällen sind umfangreiche Konfigurationsmaßnahmen nötig, zumeist bewirkt schon der Betrieb mit 1167 Standardeinstellungen einen deutlichen Performaceboost. 1168 In der Regel ergibt sich kein Grund dafür, auf eine solche Erweiterung zu verzichten. 1169 Dennoch ist bei vielen Webhoster dieses Feature deaktivert und erst auf Nachfrage verfügbar. 1170 1171 Das Gegenteil zu Caches, die als PHP-Extension eingebunden werden, sind die sogenannten Userland-Caches. 1172 Dabei handelt es sich um Caching-Verfahren die vom Nutzer selbst erstellt wurden und daher in PHP implementiert sind. 1173 Es lassen sich beispielsweise generierte Grafiken oder Rückgabewerte von Funktionsaufrufen zwischenspeichern. 1174 1175 Sowohl ZendGuard, als auch ionCube Loader bieten neben der Caching-Funktionalität auch die Möglichkeit, den 1176 Sourcecode in einer geschützen, verschlüsselten Form abzulegen. 1177 Bei einem quellcode-offenen Produkt wie Clansuite, steht der Einsatz dieser Techniken aber außer Frage. 1178 1179 .Überblick Caching-Mechanismen 1180 Grundsätzlich lassen sich mehrere Anknüpfungspunkte für Caching-Systeme in PHP finden. 1181 Zu den bekannteren Verfahren gehört das Opcode Caching. 1150 1182 1151 1183 .Was macht ein OpCode-Cache? 1152 Normalerweise wird bei jedem Aufruf eines Skriptes zuerst das Skript kompiliert (es wird aus der Skriptsprache 1153 in Maschinencode überführt) und dann ausgeführt. Das kostet Zeit und verbraucht wertvolle Rechenleistung. 1184 Normalerweise wird bei jedem Aufruf eines PHP-Skriptes zuerst das Skript kompiliert (d.h. es wird aus der 1185 Skriptsprache in Maschinencode überführt) und dann ausgeführt. Das kostet Zeit und verbraucht wertvolle 1186 Rechenleistung. Dieses Verhalten ist eine Eigenart der in PHP geschriebenen Webanwendungen. 1187 Webanwendungen auf Basis anderer Architekturen, beispielsweise Java implementierte, halten die Anwendung 1188 und auch komplexe Objektmodelle und Daten persistent verfügbar (siehe Java-EE-Server; Enterprise JavaBeans). 1189 1154 1190 Verwendet man hingegen einen OpCode Cache, so wird ein Skript zuerst kompiliert und danach kompiliert im 1155 Speicher (shared memory / RAM) gehalten. Jeder weitere Aufruf des Skripts wird danach aus dem Speicher 1156 bedient und spart Kompilierungszeit. 1191 Speicher (shared memory / RAM) gehalten. Dieser "PHP Zwischencode" wird zumeist heftig optimiert abgelegt. 1192 Jeder weitere Aufruf des Skripts wird danach aus dem Speicher bedient und spart Kompilierungszeit. Man kann 1193 Programmquellcode, aber auch die zur Laufzeit des Programms anfallenden Dateninhalte, zumeist Variablen, im 1194 Cache ablegen.Wenn Variablen vom Nutzer im Cache abgelegt werden, spricht man vom User-Cache. 1195 1196 Daneben gibt es weitere Caching-Mechanismen, beispielsweise das File Caching. 1197 Beim File Caching werden eine oder mehrere Dateien zusammengefasst und für einen schnelleren späteren Zugriff abgelegt. 1198 Des Weiteren gibt es das sogenannte "Resolve File Path Caching", hierbei kommt ein Mapping Verfahren zum Einsatz, bei dem 1199 für den relativen Dateipfade der jeweilige absolute Dateipfad abgelegt wird, so dass später eine erneute Pfadauflösung 1200 entfallen kann. Ein sogenannte "Session Handling Cache" legt die Sessiondaten, genau wie der User Cache, im Shared Memory ab. 1157 1201 1158 1202 Der optimale Wert für die Größe des Cache-Speichers hängt natürlich vom tatsächlich verfügbaren RAM ab. 1159 Wer zu hohe Cachewerte einstellt, zwingt den Server möglicherweise dazu, andere Sachen auszulagern. 1203 Wer zu hohe Cachewerte einstellt, zwingt den Server möglicherweise dazu, andere Sachen aus dem Speicher auszulagern. 1204 1205 Bevor in letzter Instanz auf die Leistungssteigerung durch einen vorkompilierenden Cache zurückgegriffen wird, 1206 sei allen Entwicklern geraten, zunächst die eigene Applikation und Datenbank auf den Prüfstand zu bringen, 1207 um Leistungsbremsen zu erkennen und zu beheben. 1160 1208 1161 1209 .Instanzierung … … 1164 1212 1165 1213 .Entwurfsmuster 1214 Als Entwurfsmuster kommt eine Fabrik zum Einsatz. 1215 Die Fabrik liefert lediglich den Cache-Adapter aus, den der Nutzer in der Konfiguration festgelegt hat. 1166 1216 1167 1217 ===== Die Cache-Adapter 1168 1218 1219 Die Cache-Adapter sind dabei einfache Wrapper, die lediglich den Zugriff auf die Methoden der Caching- 1220 Extensions abstrahieren und standadisieren. Die Unterstützung für ein neues Caching-System ist durch 1221 einfaches Hinzufügen eines entsprechenden Adapters problemlos möglich. 1222 1169 1223 ====== Cache: APC 1224 1225 Der Alternative PHP Cache (APC) ist ein Opcode Cache. Er cached und optimiert den PHP Quellcode und stellt ihn als 1226 "Zwischencode" bereit. 1227 1228 http://php.net/apc 1229 http://pecl.php.net/package/APC 1170 1230 1171 1231 ====== Cache: eAccelerator
Note: See TracChangeset
for help on using the changeset viewer.
