PHP: Unterschied zwischen den Versionen

Aus OrgaMon Wiki
Zur Navigation springen Zur Suche springen
 
(17 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 29: Zeile 29:
== PHP7 ==
== PHP7 ==


=== Abhängigkeiten ===
ich habe PHP7 RC6 folgendermasen zum Laufen gebracht.


  libxml2-devel
* openSUSE 13.1 64 Bit installiert (als VM unter VirtualBox, Host ist openSUSE 42.1)
  libzip
* incl. Commando-Zeilen Tools, C++ Entwicklung, Webserver
* Mich über PHP7 beim OpenSUSE Build Serivce Informiert
** https://build.opensuse.org/package/show/devel:languages:php:php7/php7
* im yast folgendes Repository hinzugefügt
** <code>http://download.opensuse.org/repositories/devel:/languages:/php:/php7/openSUSE_13.1</code>
* im yast php7 nun installiert
* phpinfo(); lieferte eigentlich direkt den Erfolg
* weitere Module installiert, mcrypt, soap, ...
 
=== php7-interbase ===
 
die interbase Erweiterung war nicht dabei, also per Hand
 
* den interbase-classic Server installiert, ev. auch "-devel" Pakete nötig weis nicht mehr
* das Quelltext-Paket 'php-7.0.0RC7.tar.gz' von php.net geladen
* irgendwie den php das firebird in /opt/firebird installiert ist. Die Header-Dateien werden dort im ./include Verzeichnis gesucht.
* Diese waren aber bei mir im /urs/include/firebird, ok also einen Link erstellt:
** md /opt/firebird
** ln -s /usr/include/firebird /opt/firebird/include
* Nun ins ./ext/interbase Verzeichnis wechseln und dort
** phpize
** ./configure
** make
** make install
 
die interbase.so steht jetzt zur VErfügung, wird aber noch nicht geladen
 
* joe /etc/php7/conf.d/interbase.ini
 
extension=interbase.so
[Interbase]
ibase.dateformat=%m.%d.%Y
ibase.timestampformat=%m.%d.%Y %H:%M:%S
 
* Jetzt muss apache2 noch merken das ein neues Modul gewünscht ist
** systemctl restart apache2
 
=== php7-memcached ===
 
* wget https://github.com/php-memcached-dev/php-memcached/archive/php7.zip
* ... in ein neues Verzeichnis auspacken ...
* phpize
* ./configure
* make
* make install
* joe /etc/php7/conf.d/memcached.ini
 
  extension=memcached.so
 
 
* Jetzt muss apache2 noch merken das ein neues Modul gewünscht ist
** systemctl restart apache2
 
=== php7-xdebug ===
 
* xdebug habe ich direkt von der xdebug Homepage geladen, da es in PHP 7.0.1 nicht mit dabei war
* ich habe es ins ./ext Verzeichnis eines kompletten php-7.0.1.tar.gz entpackt als wäre es eine mitgelieferte Extension
* phpize, ./configure, make, make install hat auch funktioniert
* Im /etc/php7/conf.d habe ich xdebug.ini angelegt. Es hat nicht so den Standard-Inhalt da es eine "Zend" Extension ist!
 
zend_extension=xdebug.so
[xdebug]
xdebug.remote_enable=On
xdebug.remote_host=khao
  xdebug.idekey=netbeans-xdebug
 
 
* Meine IDE läuft auf dem Rechner KHAO (Windows) und mein 13.1er hat den Hostname Virt42
 
=== Status vom 23.11.2015 ===
 
* Shop läuft bei mäsiger Performance
* Riessen Bug in ibase.php gefunden, es wurden zig Interbase Connections pro Seitenaufruf neu geöffnet
* Der Player sollte in das Header-Template des WebShops dort wäre er passender
* Die Static-Klassen sollten durchgängig programmiert werden
 
=== Status vom 25.11.2015 ===
 
* Modul "memcached" lässt sich nun compilieren
 
=== Status vom 03.12.2015 ===
 
* keine offenen Punkte mehr
* Optimierungen an der CodeBasis vorgenommen
 
=== Status vom 07.12.2015 ===
 
* PHP 7.0.0 installiert

Aktuelle Version vom 5. Januar 2016, 15:09 Uhr

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.

PHP7

ich habe PHP7 RC6 folgendermasen zum Laufen gebracht.

php7-interbase

die interbase Erweiterung war nicht dabei, also per Hand

  • den interbase-classic Server installiert, ev. auch "-devel" Pakete nötig weis nicht mehr
  • das Quelltext-Paket 'php-7.0.0RC7.tar.gz' von php.net geladen
  • irgendwie den php das firebird in /opt/firebird installiert ist. Die Header-Dateien werden dort im ./include Verzeichnis gesucht.
  • Diese waren aber bei mir im /urs/include/firebird, ok also einen Link erstellt:
    • md /opt/firebird
    • ln -s /usr/include/firebird /opt/firebird/include
  • Nun ins ./ext/interbase Verzeichnis wechseln und dort
    • phpize
    • ./configure
    • make
    • make install

die interbase.so steht jetzt zur VErfügung, wird aber noch nicht geladen

  • joe /etc/php7/conf.d/interbase.ini
extension=interbase.so

[Interbase]
ibase.dateformat=%m.%d.%Y
ibase.timestampformat=%m.%d.%Y %H:%M:%S
  • Jetzt muss apache2 noch merken das ein neues Modul gewünscht ist
    • systemctl restart apache2

php7-memcached

extension=memcached.so


  • Jetzt muss apache2 noch merken das ein neues Modul gewünscht ist
    • systemctl restart apache2

php7-xdebug

  • xdebug habe ich direkt von der xdebug Homepage geladen, da es in PHP 7.0.1 nicht mit dabei war
  • ich habe es ins ./ext Verzeichnis eines kompletten php-7.0.1.tar.gz entpackt als wäre es eine mitgelieferte Extension
  • phpize, ./configure, make, make install hat auch funktioniert
  • Im /etc/php7/conf.d habe ich xdebug.ini angelegt. Es hat nicht so den Standard-Inhalt da es eine "Zend" Extension ist!
zend_extension=xdebug.so

[xdebug]
xdebug.remote_enable=On
xdebug.remote_host=khao
xdebug.idekey=netbeans-xdebug


  • Meine IDE läuft auf dem Rechner KHAO (Windows) und mein 13.1er hat den Hostname Virt42

Status vom 23.11.2015

  • Shop läuft bei mäsiger Performance
  • Riessen Bug in ibase.php gefunden, es wurden zig Interbase Connections pro Seitenaufruf neu geöffnet
  • Der Player sollte in das Header-Template des WebShops dort wäre er passender
  • Die Static-Klassen sollten durchgängig programmiert werden

Status vom 25.11.2015

  • Modul "memcached" lässt sich nun compilieren

Status vom 03.12.2015

  • keine offenen Punkte mehr
  • Optimierungen an der CodeBasis vorgenommen

Status vom 07.12.2015

  • PHP 7.0.0 installiert