Computer: PHP-GTK (aus Wiki)

PHP-GTK (aus Wiki)

Gehört zu: PHP
Siehe auch: GUI

PHP-GTK

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.

Installation PHP-GTK

  • Definitive Software Library ID: PHP-GTK
  • Name: PHP-GTK-Extension
  • Version 1.0.1a
  • Hersteller/Bezugsquelle: http://gtk.php.net
  • Systemvoraussetzungen: PHP 4.3.x
  • Installations-Ordner: D:\PHP4

Besonderheiten der Installation von PHP-GTK

  • Die Konfigurationsdatei von PHP (php.ini) wird am Ende ergänzt durch:……
  • Folgende Dateien aus dem Installationsordner PHP4 werden kopiert nach d:\php\extensions:
    • php_gtk.dll
    • php_gtk.libglade.dll
    • scrollpane.dll
    • spanned.dll
    • sqpane.dll
    • combobutton.dll
  • In den Installationsordner wird zusätzlich kopiert:
    • libintl-1.dll (war woanders vorhanden)
  • GTK Themes werden zusätzlich installiert (http://php.ch-becker.de/php-gtk-tut1/)
  • Man kann dann auch noch Glade (WinGlade, wGlade) installieren…..

— Main.DietrichKracht – 28 Aug 2004

Retrieved from my Wiki

Computer: Kalender (aus Wiki)

Kalender (aus Wiki)

Gehört zu: Zeit-Management

Wandkalender

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.

Fernsehprogramm als Terminkalender

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).

Geburtstage im Terminkalender

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:

  • Sunbird verlangt UTF-8
  • Geburtstage werden mit der Zeile RRULE …..;BYDAY= generiert, was zu Fehlern in Sunbird führt. Nach dem Löschen der letzten 7 Zeichen (;BYDAY=) funktionieren die Geburtstage in Sunbird fehlerfrei.

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.

Kalender Software

— Main.DietrichKracht – 10 Jan 2004

Retrieved from my Wiki

Computer: PhpMyAdmin (aus Wiki)

PhpMyAdmin (aus Wiki)

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:

  • Mit einfachsten Mitteln (PHP, WebBrowser, WebServer) kann die Administration einer MySQL-Datenbank so erfolgen
  • Installation ist auch auf Web-Servern bei einem WebHosting-Provider möglich. So kann über das Internet eine remote Administration erfolgen, auch wenn der MySQL-Server beim Provider keine Remote-Zugriffe erlaubt.

Installation

Konfiguration

In der Konfigurations-Datei: “config.inc.php” trage ich ein:

  • blowfish_secret:  32 Zeichen
  • auth_type:  ‘config’ oder ‘cookie’
  • Host-Namen des Datenbank-Servers eingetragen.

Aufruf

Anmeldung

Als erstes erscheint eine Anmeldemaske. Da muss man Benutzername und Passwort eingeben.

— Main.DietrichKracht – 04 Jul 2004

Computer: Mein Wandkalender mit PHP (aus Wiki)

Gehört zu: Aufgabenplanung
Siehe auch: PHP, TagesLaenge

Stand: 17.3.2023

Mein Wandkalender mit PHP (aus Wiki)

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.

Installation

Veränderungen für PHP8

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

Retrieved from my Wiki

Computer: PHP (aus Wiki)

Gehört zu: Web-Anwendungen
Siehe auch: Google Fotos, Apache, PHP
Benutzt: Fotos von Flickr, Fotos aus Google Drive

Stand: 30.10.2021

PHP mit Apache auf meinen Windows-Computern

PHP ist in meinem Anwendungskatalog die Scriptsprache der ersten Wahl.

Was ist PHP?

PHP steht für “PHP Hypertext Prozessor”. Eine Scriptsprache, die für die Entwicklung dynamischer Web­seiten 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 ent­wickelt. 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

Aufruf von PHP

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:

Geschichte von PHP

Im Herbst 1994 begann Rasmus Lerdorf mit einem Hack. Versionen:

  • PHP/FI 1.0, Frühling 1995,
  • PHP – “Personal Home Page Tools”, PHP/FI 2.0, Sommer 1995,
  • FI – “Form Interface”, PHP 3.0, 1997,
  • “Personal Home Page” oder “PHP HyperText Preprocessor”, PHP 4.0, Frühling 2000.
  • PHP5 ab Juli 204
  • PHP7 ab Dezember 2015

Meine Installationen von PHP

Ich betreibe/benutze folgende PHP-Installationen:

Upgrading to PHP 7.0.33

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.

Upgrading to PHP 5.2.17

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.

Besonderheiten bei PHP5 (Windows)

PHP5 und Sessions

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….

PHP5 und MySQL

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.

PHP5 und OpenSSL

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.

PHP auf Computer Kragenbaer

 Installation

Konfiguration

PHP auf Computer Westhost

PHP Installation Westhost

  • Version: 5.2.1
  • Installations-Verzeichniss: ???
  • Konfigurations-Dateien
    • INI-Datei: /etc/php.ini (siehe Abschnitt “Konfiguration”)

 PHP Konfiguration Westhost

Umgebungsvariable

  • PATH=???
  • PHPRC=??? (Wo die INI-Datei ist)
  • PHPINFO:
    • Server API: Apache
    • Configuration File (php.ini) Path: /etc/php.ini

PHP auf ComputerLonzo

 PHP Installation ComputerLonzo

  • Version: 5.2.3
  • Installations-Verzeichnis: C:\Programme\PHP
  • Konfigurations-Dateien
    • INI-Datei: C:\Programme\php\php.ini (siehe Abschnitt “Konfiguration”)

 PHP Konfiguration ComputerLonzo

Umgebungsvariable

  • PATH=C:\Programme\PHP
  • PHPRC=C:\Programme\PHP (ComputerLonzo: Wo die INI-Datei ist)
  • PHPINFO:
    • Server API: Apache
    • Configuration File (php.ini) Path: C:\WINDOWS
    • Loaded Configuration File: C:\Programme\php\php.ini

 PHP Apache 1.3.29 Konfiguration

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
  • Nicht “PHPIniDir=…” das ist für Apache 2 gedacht…
#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

PHP auf ComputerBraunbaer

 PHP 5.2.3 Installation

  • Definitive Software Library ID: PHP
  • Name: PHP
  • Version: 5.2.3 (28.6.2007 ComputerBraunbaer)
  • Lieferant: http://www.php.net
  • Installations-Verzeichniss: d:\Programme\PHP
  • Konfigurations-Dateien
    • INI-Datei: d:\programme\php\php.ini (siehe Abschnitt “Konfiguration”)

 Installierte Extensions

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.

 PHP Konfiguration auf ComputerBraunbaer

Umgebungsvariable

  • PATH=D:\Programme\PHP
  • PHPRC=D:\Programme\PHP (ComputerBraunbaer: Wo die INI-Datei ist)

Folgende Einstellungen sind in der php.ini vorgenomen worden:

  • Ordner für Extensions: d:/programme/php/ext
  • register_globals = On (für Anwendung PhpLinks)
  • upload_max_filesize = 16M (für Anwendung Owl)
  • Include_path (für Smarty)
    • = “.;d:\php\pear;d:\php\smarty;.\templates;.\plugins;.\include”  ?????????????????
    • php_db.dll  ???
    • php_dba.dll  ???
    • php_domxml.dll (welche Anwendung benötigt das???)
    • php_gd2.dll (für Anwendung MediaWiki
    • php_iconv.dll (für Anwendung MediaWiki)
    • php_ldap.dll (für Anwendung Rolodap)
  • Zend Optimizer (für welche Anwendung???)
  • PHP-GTK

Apache 1.3.29 Konfiguration

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

PHP Applikationen

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

Der PHP Command Line Interpreter “CLI”

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