Difference between revisions of "PHP"

From Dietrich Blog (Strato)
Jump to: navigation, search
(Replaced content with "Has been moved to: http://blog.kr8.de/wiki-main/")
Line 1: Line 1:
This page has been moved to my BLOG at http://blog.kr8.de
+
Has been moved to: http://blog.kr8.de/wiki-main/
{{TOCright}}
 
PHP ist in meiner [[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 [[WebApplication]]s gedacht ist - wie beispielsweise auch mit ASP oder ColdFusion. PHP ist aber im Gegensatz zu solchen Ansätzen eine freiverfügbare [[OpenSourceSoftware]] 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 [[WebServer]]n 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
 
 
 
== 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.
 
 
 
== Meine Installationen von PHP ==
 
Ich betreibe/benutze folgende PHP-Installationen:
 
* Lokal auf [[ComputerGraumann]] unter [[Windows Vista]] [http://192.168.2.125/phpinfo.php phpinfo.php] '''PHP 5.2.17'''
 
* Lokal auf [[ComputerThinkbaer]] unter [[Windows 7]] [http://127.0.0.1/phpinfo.php phpinfo.php] '''PHP 5.2.3'''
 
* Lokal auf [[ComputerLonzo]] unter [[WindowsXP]] Professional unter [http://lonzo.kr8.de/phpinfo.php phpinfo.php] '''PHP 5.2.1'''
 
* Im [[WebProvider]] bei '''free.fr''' unter [http://dietrich.kracht.free.fr/php/phpinfo.php phpinfo.php]  '''PHP 4.4.3'''
 
* Im [[WebProvider]] bei '''Westhost''' unter [http://www.kr8.de/php/phpinfo.php phpinfo.php]    '''PHP 5.2.1'''  
 
* Im [[WebProvider]] bei '''Strato''' unter [http://www.dkracht.com/phpinfo.php phpinfo.php] '''PHP 4.4.7'''
 
 
 
== 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. <br />
 
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), <br />
 
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.
 
<br />Z.B. kann man sich in [[MediaWiki]] nicht mehr anmelden...
 
<br />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:
 
<pre>
 
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
 
</pre>
 
* Nicht "PHPIniDir=..." das ist für Apache 2 gedacht...
 
<pre>
 
#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
 
</pre>
 
[[Image:EventApachePHP5.png]]
 
 
 
== 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.
 
* domxml
 
* GD2
 
* imagick              (für Anwendung [[MediaWiki]])
 
* [[LDAP]]
 
* [[MySQL]]            (für Anwendung [[MediaWiki]])
 
* SMTP
 
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):
 
<pre>
 
LoadModule php4_module d:/php/sapi/php4apache.dll
 
AddModule mod_php4.c
 
</pre>
 
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:
 
<pre>
 
copy d:/php/php4ts.dll d:/php/sapi/php4ts.dll
 
</pre>
 
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:
 
<pre>
 
AddType application/x-httpd-php .php
 
</pre>
 
und schon werden PHP-Scripts vom Apache-[[WebServer]] ausgeführt. Z.B. http://localhost/phpinfo.php
 
 
 
== PHP Applikationen ==
 
{| class=wikitable
 
|-
 
| '''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 Domumentanmanagement || mydms
 
|-
 
| nuke || PhpNuke-Installation von GMO/Bonzo || nuke
 
|-
 
| [[Owl|Owl]] || [[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|Rolodap]] || Zugriffe auf ein LDAP-Directory || -
 
|-
 
| [[Smarty|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-Skrips 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:
 
<pre>
 
d:\php\php.exe  -f methods.php > \home\kracht\www\www.kr8.de\htdocs\methods.htm
 
</pre>
 
 
 
 
 
-- Main.DietrichKracht - 25 Mar 2004
 
[[Category:DefinitiveSoftwareLibrary]]
 

Revision as of 19:30, 31 March 2020

Has been moved to: http://blog.kr8.de/wiki-main/