==== PHP ====
{{ :programmieren:php:php-logo.jpg?400 |php-logo.jpg}}
alles rund um das Thema PHP und programmieren
==== Untermenü's ====
{{simplenavi>programmieren:php}}
==== Error handling ====
Damit beim Entwickeln auch alle Fehler angezeigt werden, sollte eine .htaccess Datei mit folgenden Einträgen im Verzeichnis sein wobei display_errors on das wichtigste ist.
.htaccess
php_flag display_startup_errors on
php_flag display_errors on
php_flag html_errors on
php_value error_reporting 2047
php_flag log_errors on
php_value error_log /home/path/public_html/domain/PHP_errors.log
Im PHP Script folgendes:
// Melde alle PHP Fehler (siehe Changelog)
error_reporting(E_ALL);
Zusammenfassung:
.htaccess
# PHP error handling for production servers
# Disable display of startup errors
php_flag display_startup_errors off
# Disable display of all other errors
php_flag display_errors off
# Disable HTML markup of errors
php_flag html_errors off
# Enable logging of errors
php_flag log_errors on
# Disable ignoring of repeat errors
php_flag ignore_repeated_errors off
# Disable ignoring of unique source errors
php_flag ignore_repeated_source off
# Enable logging of PHP memory leaks
php_flag report_memleaks on
# Preserve most recent error via php_errormsg
php_flag track_errors on
# Disable formatting of error reference links
php_value docref_root 0
# Disable formatting of error reference links
php_value docref_ext 0
# Specify path to PHP error log
php_value error_log /home/path/public_html/domain/PHP_errors.log
# Specify recording of all PHP errors
# [see footnote 3] # php_value error_reporting 999999999
php_value error_reporting -1
# Disable max error string length
php_value log_errors_max_len 0
# Protect error log by preventing public access
Order allow,deny
Deny from all
Satisfy All
----
== Absolouten Path ==
PHP
== PATH ==
/ means the root of the current drive;
./ means the current directory;
../ means the parent of the current directory.
== Relativen Path ==
beginnt der Path mit "/" dann wird der Path immer vom Hauptverzeichnis der Domain\\
href='/styles/newscontent.css' = [[http://yourdomain.com/styles/newscontent.css|http://yourdomain.com/styles/newscontent.css]]\\
PHP
dirname($_SERVER['PHP_SELF']);
oder
dirname($_SERVER['REQUEST_URI'])
===== Pfade / Path Info: =====
\\ Wir unterscheiden in relativen und absoluten Path (Verzeichnis)\\ Relativ wird wie in fogenden Beispielen durch "." ".." "/" angegeben\\ Absolut beginnt immer mit "/" und bezieht sich auf das Root Verzeichnis\\ \\ Relative Aufrufe:\\ Datei im selben Verzeichnis\\ (prüfen mit GETCWD() da das Script Verzeichnis nicht das aktuelle Verzeicnis sein muss\\ ''"< Datei >"''\\ \\ Datei ein Verzeichnis zurück:\\ ''"../< Datei >"''\\ \\ Datei einem tieferliegen Verzeichnis:\\ ''"< Verzeichnis >/< Verzeichnis >/< Datei >"''\\ \\
Datei vom Hauptverzeichnis des Webspace aufrufen (in PHP)
Eine Konstante mit "absoluten Path" definieren damit man nicht immer den Rootpath angeben muss
define("root", $_SERVER["DOCUMENT_ROOT"] );
damit lässt sich der Path wie folgt aufrufen
root."/< Verzeicnis >/ < Datei >"
----
Absolute Aufrufe:\\ ''/< Verzeichnis >/< Verzeichnis >/< Datei >''\\
----
**Verzeichnis**\\ \\ Verzeichns des ausgeführten Scripts (Speicherort)\\ ''dirname%%(__%%FILE%%__%%)'' oder ''%%__%%DIR%%__%%''\\ Beispiel: /home/www/dl2fbo/wp-content\\ \\ Verzeichns des ausgeführten Scripts ist incl. Dateiname (Speicherort)\\ ''%%__%%FILE%%__%%''\\ Beispiel: /home/www/dl2fbo/wp-content/test.php\\ \\ Root Verzeichnis des Webspaces\\ ''$_SERVER["DOCUMENT_ROOT"]''\\ Beispiel: /home/www/dl2fbo\\ \\ Aktulles Verzeichns (wo das Script ausgeführt wird / muss nicht der Speicherort des Scripts sein)\\ ''getcwd()''\\ Beispiel: /home/www/dl2fbo\\ \\ \\
===== Wordpress Pfade =====
Pfad zum aktiven Template\\ ''get_template_directory()''\\ Beispiel:/home/www/dl2fbo/wp-content/themes/vantage\\ \\ Pfad zum aktiven Child-Template\\ ''get_stylesheet_directory()''\\ Beispiel: /home/www/dl2fbo/wp-content/themes/vantage-child\\ \\
===== URL: =====
URL zum aktiven Template\\ ''get_template_directory_uri()''\\ Beispiel: https://www.dl2fbo.de/wp-content/themes/vantage\\ \\ URL zum aktiven Child-Template\\ ''get_stylesheet_directory_uri()''\\ Beispiel: https://www.dl2fbo.de/wp-content/themes/vantage-child\\ \\ URL zur aktiven Child-Template CSS\\ ''get_stylesheet_uri()''\\ Beispiel: https://www.dl2fbo.de/wp-content/themes/vantage-child/style.css\\