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:
Jetzt 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