Website PhpWorkshop (aus Wiki)
xyz
xyz
Gehört zu: Datenbanken
Siehe auch: Meine Websites, MySQL, PHP
Stand: 11.02.2023
Website bei ProviderStrato: http://kr8.de/phpMyAdmin
Lokal: http://localhost/phpmysql
Man kann mit PHP nicht nur Web-Anwendungen schreiben, sondern auch Anwendungen mit grafischer Benutzeroberfläche (GUI), die ohne einen Web-Server direkt auf Windows oder Linux laufen. Dafür benötigt man GTK als PHP-Erweiterung.
— Main.DietrichKracht – 28 Aug 2004
Keywords: Kalenderdruck – Kalenderblätter – Kalenderberechnung
Hier als Demo beim WebProvider durch Strato: Kalenderberechnung mit PHP
Das PHP-Script “Kalender” von Jürgen Galupki wurde optisch ein wenig modifiziert, so das man Monatsblätter so erstellen kann, wie sie bei den so beliebten Drei-Monats-Wandkalendern aussehen.
Dieses hervorragende Script von Jürgen Galupki, berechnet alle Feiertage, Kalenderwochennummern, Mondphasen, Sonnenaufgang und Sonnenuntergang, wobei die geografischen Koordinaten des Bezugsorts gewählt werden können.
Einmal in der Woche gehe ich das Fernsehprogramm durch, um mir interessante Sendungen zu merken. Was ich sehenswert finde, trage ich in einen Terminkalender ein.
Das Fernsehprogramm kann man mit TV-Browser sichten und dann die ausgewählten Sendungen in einen Terminkalender übernehmen. Die Version 2.7 hat folgende Exportmöglichkeiten:
Als Kalender-Client habe ich mir eine Vollversion von Rainlendar genehmigt. Die Speicherung erfolgt als sog. Remote Calendar auf meinem Web-Server http://www.kr8.de/ical/tv.ics als iCalendar-Kalenderdatei (.ics).
Die Geburtstage meiner Bekannten und Freunde habe ich in MicrosoftOutlook verwaltet und zwar als ganztägige, wiederkehrende Termine im Kalender.
Zur Datensicherung eignet sich das iCalendar-Format. Dafür habe ich ein Outlook-Macro gefunden, dass einen kompletten Export von solchen Terminen in ein *.ics File ermöglicht. ( http://www.mikebaas.org/outlook2ical/ ). Im Original ist es VB-Script. Es gibt auch eine Portierung in JavaScript.
Leider, kann MicrosoftOutlook die mit Outlook2iCal erzeugte ics-Datei nicht korrekt importieren (Fehlermeldung). Daher habe ich alle Geburtagstermine in eine kleine separate PST-Datei kopiert. Diese dient als Datensicherung und kann auch komplett in einem Rutsch in andere Outlook-Kalender importiert werden.
Beim Importieren der iCalendar-Datei in Mozilla Sunbird ergeben sich folgende Probleme:
Beispiel:
BEGIN:VEVENT DTSTART;VALUE=DATE:20010321 RRULE:FREQ=YEARLY;INTERVAL=1;BYDAY= SUMMARY:Anja Fassbender 1969 CLASS:PRIVATE LAST-MODIFIED:20070205T210443 UID:000000006512EDF45E64F24E9A669F1A26654AEC04562E00 END:VEVENT
Nachdem ich Rainlendar für meine Fernsehtermine verwende, bin ich ein Fan des iCalendar-Formats (.ics) geworden. Deshalb habe ich den Geburtstagskalender auch auf iCalendar umgestellt und greife mit Rainlendar darauf zu.
— Main.DietrichKracht – 10 Jan 2004
Gehört zu: Datenbanken
Siehe auch: WebApplication, MySQL, PHP, ProviderStrato
Stand: 29.02.2024
Eine in PHP realisiertes Datenbank-Frontend als WebApplication zur Verwaltung von MySQL-Datenbanken über das Web.
Vorteile:
In der Konfigurations-Datei: “config.inc.php” trage ich ein:
Als erstes erscheint eine Anmeldemaske. Da muss man Benutzername und Passwort eingeben.
— Main.DietrichKracht – 04 Jul 2004
Gehört zu: Aufgabenplanung
Siehe auch: PHP, TagesLaenge
Stand: 17.3.2023
Wandkalender – Kalenderdruck – Kalenderblätter – Kalenderberechnung
Hier als Demo beim WebProvider durch Strato: Kalenderberechnung mit PHP
Das PHP-Script “Kalender” von Jürgen Galupki wurde optisch ein wenig modifiziert, so das man Monatsblätter so erstellen kann, wie sie bei den so beliebten Drei-Monats-Wandkalendern aussehen.
Dieses hervorragende Script von Jürgen Galupki, berechnet alle Feiertage, Kalenderwochennummern, Mondphasen, Sonnenaufgang und Sonnenuntergang, wobei die geografischen Koordinaten des Bezugsorts gewählt werden können.
Mein Web-Provider Strato hat im Jahre 2023 von PHP 7.4 auf PHP 8.0 umgestellt und damit funktionierten die tollen Kalender-PHP-Formeln nicht mehr.
Auf die Schnelle – damit es überhaupt etwas zeigt – habe erst einmal folgende Änderungen gemacht:
1. Das Modul “sonnemond.class.php” wiederhergestellt – es war irgendwie durch etwas total anderes ausgetauscht.
2. Im Modul “sonnemond.class.php” erschien eine Fehlermeldung:
Fatal error: Array and string offset access syntax with curly braces is no longer supported in C:\Data\htdocs\kalender.kr8.de\lib\sonnemond.class.php on line 44
Zeile 44 geändert von if ( $was{0}==”r” ) in if ( $was[0]==”r” )
2. Im Modul “feiertage.class.php” habe ich die Zeile 171 auskommentiert: # if ($this->ft[$k][“dif”]!=0) {
und sie wie folgt modifiziert: if (is_numeric($this->ft[$k][“dif”])) {
und das sonst sie zu einem PHP-Laufzeitfehler in Zeile 173 führte:
Fatal error: Uncaught TypeError: Unsupported operand types: float + string in C:\Data\htdocs\kalender.kr8.de\lib\feiertage.class.php:173 Stack trace: #0 C:\Data\htdocs\kalender.kr8.de\monatsblatt.php(225): feiertage->Kalenderjahr(2023.0) #1 {main} thrown in C:\Data\htdocs\kalender.kr8.de\lib\feiertage.class.php on line 173
…….. $this->ft[$k][“jt”] += $this->ft[$k][“dif”];
Dies betrifft wohl “nur” die Berechnung des Julianischen Datums, welches för die Bahnberechnungen bei Sonne und Mond benötigt wird. Diese hatte ich ohnehin schon ausgeschaltet.
3. Die Datei feiertage.csv habe ich mit Hilfe meines Editors “notepad++” von der Kodierung ASCII in UTF-8 konvertiert. Dann kamen die deutschen Sonderzeichen wieder richtig.
4. Die Datei hilfe.php habe ich mit Hilfe meines Editors “notepad++” von der Kodierung ASCII in UTF-8 konvertiert. Dann kamen die deutschen Sonderzeichen wieder richtig.
5. Die Datei datumscalc.php habe ich mit Hilfe meines Editors “notepad++” von der Kodierung ASCII in UTF-8 konvertiert. Dann kamen die deutschen Sonderzeichen wieder richtig.
6. In “datumscalc.php” scheint die PHP-Verarbeitung von HTML-Forms nicht richtig zu funktionieren….
— Main.DietrichKracht – 29 May 2004
Gehört zu: Web-Anwendungen
Siehe auch: Google Fotos, Apache, PHP
Benutzt: Fotos von Flickr, Fotos aus Google Drive
Stand: 30.10.2021
PHP ist in meinem Anwendungskatalog die Scriptsprache der ersten Wahl.
PHP steht für “PHP Hypertext Prozessor”. Eine Scriptsprache, die für die Entwicklung dynamischer Webseiten und WebApplications gedacht ist – wie beispielsweise auch mit ASP oder ColdFusion. PHP ist aber im Gegensatz zu solchen Ansätzen eine freiverfügbare Open Source Software und quer über viele Plattformen (Betriebssysteme, WebServer) einsetzbar. Im Gegensatz zu älteren Scriptsprachen (wie Perl), die aus der Zeit vor dem Web stammen, wurde PHP speziell für ein Einsatz auf WebServern entwickelt. PHP besticht durch einfache Verarbeitung von Web-Formularen, seine gute Anbindung an Datenbanken und die Vielfalt weiterer Funktionsbibliotheken, sowie seine weite Verbreitung. PHP ist ein Apache Projekt http://php.apache.org = http://www.php.net
PHP wird normalerweise als Modul in Apache installiert und benutzt.
Man kan PHP aber auch von der Komandozeile aus aufrufen (s.u.).
Viele wichtige Anwendungen laufen unter Apache mit PHP:
Im Herbst 1994 begann Rasmus Lerdorf mit einem Hack. Versionen:
Ich betreibe/benutze folgende PHP-Installationen:
Bei meinem WebProvider Strato musste ich schon in 2018 auf PHP7 umstellen, da PHP5 nur noch mit zusätzlichen Kosten unterstützt wurde.
MIt dem neuen PHP7 liefen dann meine MediaWikis bei Strato nicht mehr, sodass ich diese im März 2019 ebenfalls auf neune Versionen migrieren musste.
WordPress 3.3.1 läuft nicht mehr mit PHP 5.2.3, deshalb habe ich PHP von 5.2.3 auf 5.2.17 upgraded.
Echte Upgrades gibt es leider nicht. Mann muss das neue PHP in einen neuen Ordner installieren (D:\bin\PHP\, D:\bin\PHP\php5apache2_2.dll),
Die PHP-Installation mit MSI macht dann ein kleines Update der Apache-Konfigurationsdatei httpd.conf. Dabei werden am Ende der Conf-Datei drei Zeilen eingetragen, die auf den Installtionsordner von PHP zeigen. Diese müssen eventuell manuell angepasst werden.
Unter Windows Vista wird in der php.ini angelegt:
session.save_path = C:\Users\dkracht\AppData\Local\Temp\php\session
Wenn diese Ordner-Struktur versehentlich gelöscht wird, funktioniert die PHP-Session-Verwaltung nicht mehr richtig.
Z.B. kann man sich in MediaWiki nicht mehr anmelden…
Beispielsweise löscht das “Aufräum”-Programm CCleaner alles unterhalb von Tmp….
Bei PHP5 ist die MySQL-Unterstützung nicht fest eingebaut (ein-compiliert), sondern es wird die sog. Client-Bibliothek namens libmysql.dll benötigt und zwar zusätzlich zu der PHP-Extension php_mysql.dll.
Die Client-Bibliothek ist Bestandteil von MySQL, wird aber auch im PHP5-Paket mitgeliefert. Achtung: Es könnten Versionskonfilikte auftreten.
Die MySQL-Client-Bibliothek muss vom Apache geladen werden, sonst kann die PHP-Extension php_mysql.dll auch nicht geladen werden und es gibt eine entsprechende Fehlermeldung im Apache-Error-Log (da sollte man ruhig ab und zu hineinschauen!).
Damit die MySQL-Client-Bibliothek zum Laden gefunden wird, kann man sie in den Order Windows/System tun. Wer das nicht möchte, kann sie im Ordner PHP belassen, dann muss alldings zwingend der Ordner PHP in den PATH mit aufgenommen werden. Alternativ kann man sie in den Ordner Apache/bin tun.
Die PHP-EXtension php_openssl.dll benötigt zusätzlich die Bibliothek libeay32.dll. Bei mir hat das nur dann funktioniert, wenn ich libeay32.dll in den Ordner Apache/bin kopiert habe.
Umgebungsvariable
Umgebungsvariable
In der Apache-Konfigurationsdatei “httpd.conf” eintragen:
LoadModule php5_module "C:\\Programme\\PHP\\php5apache.dll" ... AddModule mod_php5.c ... AddType application/x-httpd-php .php .php4 .php3 .phtml AddType application/x-httpd-php-source .phps
#BEGIN PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL ####PHPIniDir "C:\\Programme\\PHP\\" LoadModule php5_module "C:\\Programme\\PHP\\php5apache.dll" #END PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
Abbildung 1: Event Log wegen Apache-Fehler (Google Drive: EventApachePHP5.jpg)
Apache Service
Bei PHP5 können die Extensions bereits beim Installationsvorgang ausgewählt werden.
Zusätzlich dazu können in der php.ini noch sog. dynamische Extensions angegeben werden.
Umgebungsvariable
Folgende Einstellungen sind in der php.ini vorgenomen worden:
Installation als dynamisches Apache-Modul (SAPI):
LoadModule php4_module d:/php/sapi/php4apache.dll AddModule mod_php4.c
Das Hauptmodul php4apache.dll benötigt das zentrale PHP-Modul php4ts.dll. Das wird zunächst in \WINNT\system32 gesucht, wenn man es dahin nicht kopieren möchte, kann man es auch in den gleichen Ordner wie php4apache.dll kopieren:
copy d:/php/php4ts.dll d:/php/sapi/php4ts.dll
Wenn man jetzt den Apache-Service neu startet, meldet er sich mit: Apache/1.3.27 (Win32) PHP/4.3.1…
Nun fügt man noch zur Apache-Konfikurationsdatei httpd.conf folgendes hinzu:
AddType application/x-httpd-php .php
und schon werden PHP-Scripts vom Apache-WebServer ausgeführt. Z.B. http://localhost/phpinfo.php
Tabelle 1: Meine PHP-Applikationen
Applikation | Nutzung | MySQL-Datenbank |
GmoChronik | Mein altes Web-Log (migriert nach DocBook) | b2 |
PhpWorkshop | Für SQL-Workshop im PhpWorkshop | fruits, vokabeln,… |
gmo | Migrierte GMO-Access-Datenbanken | gmo |
PhpKnowhow | Mein KnowlegeManagement: phpKnowhow | knowhow |
kr8 | ich ??? | kr8 |
mydms | Testweise ein Dokumentenmanagement | mydms |
nuke | PhpNuke-Installation von GMO/Bonzo | nuke |
Owl | Owl DokumentenManagement | owl |
PhpKalender | Monatskalenderblätter | – |
PhpLinks | Anwendung PhpLinks (Link-Management) | phplinks |
PhpMyAdmin | MySQL-Administration | (alle) |
PhpWiki | Mein altes phpwiki (migriert nach TWiki) | phpwiki |
Rolodap | Zugriffe auf ein LDAP-Directory | – |
Smarty | Template-Engine für WebsiteTraditionell | phplinks |
Telefonbuch | Telefonnummern zur Inverssuche (u.a.) | telefonbuch |
Typo3 | <Testweise für das Content-Management-System Typo3 | typo3 |
MediaWiki | Faulkner-Wiki | wikidb |
Xanadu | Meine Archiv-Datenbank (Anwendung Archivierung) | xanadu |
Für die meinen Einsatz der Smarty Template Engine wird PHP CLI benötigt, da ich PHP-Skripts ohne den WebServer Apache einfach “so” ausführen will. Genauer gesagt, sollen die PHP-Skripts in einem Make-File ausgeführt werden zur Erstellung statischer HTML-Seiten.
Seit PHP Versiom 4.3.0 ist das CLI standardmässig im PHP enthalten und kann wie folgt einfach benutzt werden:
d:\php\php.exe -f methods.php > \home\kracht\www\www.kr8.de\htdocs\methods.htm
— Main.DietrichKracht – 25 Mar 2004