|
|
Zeile 17: |
Zeile 17: |
| zypper install php5-mcrypt | | zypper install php5-mcrypt |
| zypper install php5-soap | | zypper install php5-soap |
|
| |
| == PHP Extension "interbase" bereitstellen ==
| |
|
| |
| === 64-bit ===
| |
|
| |
| Bekomme ich bei mir nicht zum laufen. Nach der Compilierung eines Mini-Programmes zur Abprüfung der existenz von libfbclient kann das Programm die Bibliothek nicht laden: "not compatible version of" ...
| |
|
| |
| * Traurig: Nach so vielen Jahren 64-Bit läuft das immer noch nicht!
| |
|
| |
| === 32-bit ===
| |
|
| |
|
| |
| * Vorbereitung
| |
|
| |
| <code>
| |
| zypper install libxml2-devel
| |
| zypper install FirebirdCS-2.5.0.26054-ReleaseCandidate3.i686.rpm
| |
| </code>
| |
|
| |
|
| |
| * Ermittle die PHP Versionsnummer, damit du weist welchen Source-Tar-Ball du ziehen must
| |
|
| |
| <code>
| |
| php -v
| |
| </code>
| |
|
| |
| * Lade vom Museum die Source-Code Distribution des PHP, in diesem Beispiel hat die Versionsprüfung 5.1.0 ergeben
| |
|
| |
| <code>
| |
| wget http://museum.php.net/php4/php-5.1.0.tar.gz
| |
| gzip -d php-5.1.0.tar.gz
| |
| tar -xf php-5.1.0.tar
| |
| cd php-5.1.0
| |
| </code>
| |
|
| |
| * Compiliere Dir selbst die Extension "interbase.so", ermittle zuvor den Installationspfad von firebirdsql, ab 2.5 heisst er z.B. nicht mehr "/opt/firebird" wie hier angegeben
| |
|
| |
| <code>
| |
| ./configure --with-interbase=shared,/opt/firebird
| |
| make
| |
| </code>
| |
|
| |
| * so, jetzt das Compilat noch PHP zur Verfügung stellen
| |
|
| |
| <code>
| |
| cp modules/interbase.so /usr/lib/php5/extensions
| |
| </code>
| |
|
| |
| * Nun reicht es, im Verzeichnis <code>/etc/php5/conf.d</code> die Datei <code>interbase.ini</code> anzulegen:
| |
|
| |
| <code>
| |
| extension=interbase.so
| |
|
| |
| [Interbase]
| |
| ibase.timestampformat=%m-%d-%Y %H:%M:%S
| |
| </code>
| |
|
| |
| den Apache 2 neu starten
| |
|
| |
| rcapache2 restart
| |
|
| |
| Diagnose, ob jetzt das interbase Module geladen ist:
| |
|
| |
| php -modules
| |
|
| |
| auf Fehler in der folgenden Datei achten:
| |
|
| |
| /var/log/apache2/error_log
| |
|
| |
| === Win32 ===
| |
|
| |
| Damit PHP auf Interbase/Firebird Datenbanken zugreifen kann, müssen die Routinen, die das ermöglichen, beim
| |
| Start von PHP als Erweiterung geladen werden. Dies geschieht mit Hilfe zweier Einträge in der "php.ini".
| |
| Erstens muss der Eintrag "extension_dir= " auf das Verzeichnis mit den Extension-Dlls gesetzt werden. Diese
| |
| befinden sich standardmäßig im Verzeichnis "extensions". Falls PHP zum Beispiel in "C:\Programme\Php" installiert
| |
| wurde, liegen die Erweiterungs-Dlls im Verzeichnis "C:\Programme\Php\extensions".
| |
| Der Eintrag in der "php.ini" lautet dann:
| |
|
| |
| <u>Win32</u>
| |
| extension_dir = "C:\Programme\Php\ext"
| |
| <u>Linux</u>
| |
| extension_dir = "/usr/lib/php/extension"
| |
|
| |
| Zweitens gibt es in der "php.ini" einen Abschnitt, der sich "Dynamic Extensions" nennt. Dort sind alle Erweiterungen in der Form ";extension=php_....dll" aufgeführt. Da ein Semikolon am Anfang steht, beachtet PHP diese Zeile nicht als Eintrag sondern als Kommentar. In der Zeile ";extension=php_interbase.dll" muss dieses Semikolon nun entfernt werden.
| |
|
| |
| <u>Win32</u>
| |
| extension=php_interbase.dll
| |
| extension=php_gd2.dll
| |
| <u>Linux</u>
| |
| extension=interbase.so
| |
|
| |
| Der WebShop erfordert, dass Timestamps im richtigen Format übernommen werden. Dies geschieht durch folgende zwei Zeilen, die am besten ans Ende der "php.ini" gestellt werden:
| |
|
| |
| [Interbase]
| |
| ibase.timestampformat=%m-%d-%Y %H:%M:%S
| |
|
| |
| Jetzt sollten die PHP-Routinen für die Interbase-Anbindung zur Verfügung stehen. Falls dies nicht so ist, liegt es vielleicht daran, das die "php.ini" im falschen Verzeichnis liegt (siehe Ende vorletztes Kapitel) oder der Pfad im Eintrag "extension_dir=" falsch gesetzt ist.
| |
|
| |
| <u>Achtung</u>: Nach einer Änderung muss der Apache-Webserver mit "Startmenü\Alle Programme\Apache HTTP Server\Control Apache Server\Restart" neu gestartet werden.
| |
|
| |
|
| == Session Verzeichnis == | | == Session Verzeichnis == |
PHP ist eine Scriptsprache und läuft auf dem gleichen Host wie der Apache Webserver ab. PHP ist eine Entwicklung der PHP Open Source Bewegung (http://php.net/). Sie wird vor allem im InterNet eingesetzt sobald statischer HTML-Inhalt nicht mehr ausreicht, und Ablauflogik benötigt wird. Dabei bittet der Apache das PHP Modul das entsprechende PHP Script (=Textdatei) mit den übertragenen Parametern auszuführen. Das Ergebnis des PHP Moduls wird an den Client rückübertragen.
PHP IDE
Zur Ansicht der PHP - Scripte (=Text Dateien) eignet sich DevPHP der Open Source Bewegung:
http://sourceforge.net/projects/devphp
devPHP wird sichlich in Kürze die PHP für Eclipse abgelöst werden (Stand 2006).
PHP auf dem OrgaMon Server
Der TWebShop des OrgaMons läuft auf dem OrgaMon - Server. Er ist in PHP 5.x implementiert. Auch die Internet-Ablagen verwenden ein PHP Script, um die abgelegten ZIP-Dateien aufzulisten. Dazu muss auf dem Server Apache2 und PHP5 installiert sein.
zusätzliche PHP-Extensions
zypper install php5-mcrypt
zypper install php5-soap
Session Verzeichnis
Verzeichnis namens "Sess" in C:\Programme\Apache Group\Apache\" oder im selben Verzeichnis wie "DocumentRoot" anlegen.
In der Datei "php.ini" den Eintrag "session.save_path = " auf im ersten Falle
session.save_path = C:/Programme/Apache Group/Apache/Sess
abändern.