Ubuntu 14.04 – PHP 5.6.17 kompiliert – mysqli.so fehlt bzw. hat die falsche Version

Nach dem Kompilieren von PHP aktivierte ich in der PHP.INI den Eintrag

extension=mysqli.so

damit wollte ich das gleichnamige Modul für meine Programme aktivieren. Allerdings fand er das Modul nicht.

Im Normalfall wird das Modul einfach

sudo apt-get install php5-mysql

installiert. Allerdings bekomme ich von apt-get nur eine ältere nicht dazu passende PHP-Version, so dass er im Verzeichnis /usr/lib/php5/20121212 die Datei mysqli.so ablegt. Diese hat dann jedoch leider eine falsche Version. Ich benötige die Datei mit der Version 20131226. Diese konnte ich nicht manuell kompilieren und wurde auch von der PHP-Installation immer vermisst. Google hilft: Sie lösst sich unter folgendem Link downloaden:

http://packages.ubuntu.com/de/vivid-updates/amd64/php5-mysqlnd/filelist

so dass ich die Datei mir mit dem Befehl

wget http://de.archive.ubuntu.com/ubuntu/pool/universe/p/php5/php5-mysqlnd_5.6.4+dfsg-4ubuntu6.4_amd64.deb

Entpackt habe ich die .deb-Datei wie folgt:

dpkg -x php5-mysqlnd_5.6.4+dfsg-4ubuntu6.4_amd64.deb /tmp/out

Anschließend habe ich die Datei mysqli.so nach /usr/lib/php5/20131226/mysqli.so kopiert und diese Datei in die PHP.INI mit

extension=/usr/lib/php5/20131226/mysqli.so

eingebunden.

Damit funktionierte das Modul mysqli und ließ sich ohne zu meckern in PHP einbinden.

Unter dem nachfolgenden Link gibt es eine Anleitung, wie man die PHP-Module von hand aktiviert

http://www.sitepoint.com/install-php-extensions-source/

Das hat bei mir aber leider nicht funktioniert.

PHP5 mittels Source Code auf einem frischen Ubuntu installieren

Das „hineinkompilieren“ eines Advantage Database-Moduls machte es für mich erforderlich, die aktuelle PHP-Version auf einem frisch installierten Ubuntu (14.04) zu installieren.

Angelehnt an diese Anleitung entstand für mich der folgende Workarround:

Nach der Installation sind zuerst die Voraussetzungen für die Verwendung von PHP notwendig:

sudo apt-get install git build-essential autoconf apache2-prefork-dev

Anschließend installierte ich den Apache und zugehörige DEV-Module:

sudo apt-get install apache2 apache2-dev

Für das erfolgreiche Absolvieren benötigte ich noch die folgenden „Zusatzmodule“:

sudo apt-get php5-cli php5-mysql php5-gd php5-mcrypt php5-curl libapache2-mod-php5 php5-xmlrpc mysql-client libapache2-mod-fastcgi libxslt1.1 libxslt1-dev

 

sudo apt-get install php5-dev libbz2-dev libmysqlclient-dev libxpm-dev libmcrypt-dev libcurl4-gnutls-dev libxml2-dev libjpeg-dev libpng12-dev libfreetype6-dev libicu-dev

Wenn noch MySQL gewünscht ist, lässt sich dieses noch einfach ergänzen

sudo apt-get install mysql-server

Jetzt könnt ihr testen, ob der Apache richtig installiert wurde, indem ihr die IP-Adresse der Ubuntu-Servers im Browser aufruft:

Ubuntu Apache2 Install Confirmation SiteJetzt ist es an der Zeit den PHP Quelltext herunterzuladen:

git clone https://github.com/php/php-src.git

Checkt die von Euch gewünschte Version aus:

git checkout PHP-5.6.26

oder

git checkout PHP-5.6

Um aus dem PHP-Source nachher das makefile mit .configure zu erzeugen, benötigt ihr noch Bison, sonst bringt er folgende Fehlermeldung:

configure: WARNING: You will need re2c 0.13.4 or later if you want to regenerate PHP parsers.
configure: error: bison is required to build PHP/Zend when building a GIT checkout!

Diese Meldung umgeht ihr, indem ihr Euch bison von http://launchpadlibrarian.net herunterladet und installiert:

wget http://launchpadlibrarian.net/140087283/libbison-dev_2.7.1.dfsg-1_amd64.deb
wget http://launchpadlibrarian.net/140087282/bison_2.7.1.dfsg-1_amd64.deb
sudo dpkg -i libbison-dev_2.7.1.dfsg-1_amd64.deb
sudo dpkg -i bison_2.7.1.dfsg-1_amd64.deb

geht in den PHP-Source-Path – bei mir:./bu

cd ~/php-source

Jetzt muss das .configure-Skript erstellt werden mit

./buildconf

Als nächstes wird mit /.configure eingestellt, welche Module wir in PHP haben möchten. Ich empfehle diesen Mix aus üblichen PHP-Modulen:

./configure –with-apxs2=/usr/bin/apxs2 –with-mysql  –enable-mbstring   –with-curl   –with-openssl   –with-xmlrpc   –enable-soap   –enable-zip   –with-gd   –with-jpeg-dir   –with-png-dir   –with-mysql   –with-pgsql   –enable-embedded-mysqli   –with-freetype-dirphp    –enable-intl   –with-xsl –enable-mbstring   –with-curl   –with-openssl   –with-xmlrpc   –enable-soap   –enable-zip   –with-gd   –with-jpeg-dir   –with-png-dir   –with-mysql   –with-pgsql   –enable-embedded-mysqli   –with-freetype-dir     –enable-intl   –with-xsl –prefix=/usr/local/php

Mit den folgenden Befehlen erstellt ihr das Setup und installiert anschließend PHP auf dem Server

sudo make

sudo make install

libtool –finish /home/gustini/php-src/libs

Jetzt kopiert ihr eine der PHP-INIs (develpment oder production) an den Zielordner:

sudo cp php.ini-development /usr/local/lib/php.ini

Um PHP im Apache einzubinden, müsst ihr die Apache2.conf um folgende Zeilen ergänzen:

sudo vim /etc/apache2/apache2.conf

LoadModule php5_module /usr/local/php/lib/libphp5.so
AddType application/x-httpd-php .php

Damit PHP auch funktioniert, muss Apache2 vom ThreadSafe-Mode in den NotThreadSafeMode umgeschaltet werden:

sudo a2dismod mpm_event

sudo a2enmod mpm_prefork

cd

Jetzt müsst ihr noch den Apache2 neu starten:

sudo /etc/init.d/apache2 stop

sudo /etc/init.d/apache2 start

Anschließend sollte Apache und PHP5 erfolgreich installiert sein.

Ergänzende Hinweise:

Hinzufügen von PHP zum Pfad

sudo vim ~/.bashrc

Am Ende der Datei hinzufügen:

export PATH=$PATH:/usr/local/php/bin

Build PHP5 unter Ubuntu – Fehler: bison is required to build PHP/Zend when building a GIT checkout!

Fehlermeldung beim Kompilieren von PHP5-Source unter Ubuntu:

configure: error: bison is required to build PHP/Zend when building a GIT checkout

PHP5 benötigt für die Kompilierung bison 2.7. Dies lässt sich einfach nachinstallieren – anschließend läuft das „buildConfig“ problemlos durch.

sudo apt-get install m4
wget http://launchpadlibrarian.net/140087283/libbison-dev_2.7.1.dfsg-1_amd64.deb
wget http://launchpadlibrarian.net/140087282/bison_2.7.1.dfsg-1_amd64.deb
sudo dpkg -i libbison-dev_2.7.1.dfsg-1_amd64.deb
sudo dpkg -i bison_2.7.1.dfsg-1_amd64.deb

Fehlermeldung unter Windows
Die Fehlermeldung kann auch beim Kompilieren von PHP unter Windows auftreten.

Wenn nach dieser Anleitung kompiliert wird, erscheint sie möglicherweise automatisch.
Beheben lässt sich die Fehlermeldung, indem die PHP-Binary-Tools, welche für die Kompilierung benötigt werden, in den Pfad der Umgebungsvariablen aufgenommen werden.

Ein kurzer Weg:

  • Windows-Taste + Pause
  • Erweitere Systemeinstellungen
  • Umgebungsvariablen
  • Ergänzen der Umgebungsvariable „PATH“ um den Eintrag des bin-Verzeichnisses der PHP-Binary-Tools, nach der oben verlinkten Anleitung wäre das „c:\php-sdk\bin\“.

 

Internet Explorer Standard-Browser-Abfrage abschalten

Viele von Euch kennen Sie, jeder von Euch wird sie hassen. Die Meldung von Microsoft:

Lassen Sie sich nicht den speziell für Windows entwickelten Browser entgehen
Legen Sie Internet Explorer als Standardbrowser fest, um einen schnellen Vollbildbrowser zu verwenden, der sich perfekt für die Toucheingabe eignet

18-02-_2015_15-36-08

Diese Meldung lässt sich glücklicherweise ganz leicht deaktivieren, wenn man weiß, wie:

Geht auf das Zahnrad, Internetoptionen –> Tab Erweitert –> Unter „Browsen“ findet ihr den Eintrag „Meldung anzeigen, wenn Internet Explorer nicht der Standardbrowser ist“. Das Häkchen zu diesem Eintrag deaktiviert ihr und ihr habt Ruhe!

18-02-_2015_15-41-46

18-02-_2015_15-42-21

DHL Track & Trace API implementieren

Viele Agenturen und Versandhändler stehen irgendwann vor der Herausforderung, dass sie auf elektronischen Weg auf ihre Versanddaten zugreifen und diese auswerten wollen.

Die Informationen im Web  sind großteils sehr widersprüchlich und nicht konkret. Aus diesem Grund liste ich hier die aktuellen Informationen zur Informationsbeschaffung der DHL -API auf

Geschäftskundenversand API

Versandscheine für den nationalen und internationalen Versand erstellen, Exportdokumente vorbereiten und Abholungen beauftragen mit der Geschäftskundenversand API.

Privatkundenversand API

Ein DHL Produkt oder Service online auwählen, den zugehörigen Versandschein direkt vorbereiten, kaufen und anschließend selber drucken.

Standortsuche API

Mit der DHL Standortsuche API schnell und einfach die nächstgelegenen Packstationen, Paketboxen, Postfilialen und Postfiliale Direkt Filialen finden.

Sendungsverfolgung API

Mit der Sendungsverfolgung API verfolgen Privat- und Geschäftskunden jederzeit bequem online den aktuellen Auslieferungszustand von Sendungen.

Marktplatz API

Präsentieren Sie ihre Produkte und verwalten Sie die Bestellabwicklung in einem professionellen Verkaufsumfeld mit der Marktplatz API.

 

Zu allen APIs gibt es Code Beispiele und dokumentierte API-Details.

Alle näheren Informationen findet ihr unter

https://entwickler.dhl.de