Eigene PHP Version: Unterschied zwischen den Versionen
(Hinweis auf phpenv) |
(Anpassungen bzgl. "--with-curl" und "--with-openssl" sowie "/fastcgi-bin") |
||
Zeile 12: | Zeile 12: | ||
cd php54 | cd php54 | ||
wget http://de1.php.net/distributions/php-5.4.45.tar.gz | wget http://de1.php.net/distributions/php-5.4.45.tar.gz | ||
tar zxf php-5.4.45.tar.gz | |||
</pre> | </pre> | ||
<pre> | <pre> | ||
./configure --prefix $HOME/php-5.4.45 --enable-mbstring | ./configure --prefix $HOME/php-5.4.45 --enable-mbstring --with-xmlrpc --enable-soap --enable-zip --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --enable-intl --with-xsl --with-mysqli=/usr/bin/mysql_config --with-pdo-mysql --enable-pdo=shared --with-pdo-mysql=shared --with-pdo-sqlite=shared --with-zlib --with-mysql | ||
--with-jpeg-dir --with-png-dir --with-freetype-dir --enable-intl | # eigentlich auch noch --with-curl --with-openssl | ||
--with-xsl --with-mysqli=/usr/bin/mysql_config --with-pdo-mysql | # die jedoch ggf. inkompatibel zu den aktuellen Bibliotheken bei Hostsharing sind | ||
--enable-pdo=shared --with-pdo-mysql=shared --with-pdo-sqlite=shared | # oft kann man jedoch darauf verzichten | ||
--with-zlib --with-mysql | |||
make | make | ||
Zeile 65: | Zeile 65: | ||
Action application/x-httpd-phpfastcgi /fastcgi-bin/myphpstub | Action application/x-httpd-phpfastcgi /fastcgi-bin/myphpstub | ||
</pre> | </pre> | ||
/fastcgi-bin ist dabei kein echtes Verzeichnis, sondern ist in der Apache Konfiguration (/etc/apache2/sites-available/example.com) definierter Alias. | |||
== Mögliche Probleme mit MySQL-Passwort umgehen == | == Mögliche Probleme mit MySQL-Passwort umgehen == |
Version vom 1. Januar 2019, 16:53 Uhr
Aktuelle PHP Version
Dieser Artikel bezieht sich auf ältere PHP Versionen. Wer eine aktuellere PHP-Version benötigt als in Debian Stable vorhanden, folgt bitte der Anleitung Aktuelles_PHP_mit_phpenv
Falls Anwendungen nach dem Upgrade auf Jessie übergangsweise eine ältere PHP-Version benötigen, kann im Paket eine eigene Version compiliert werden.
mkdir php54 cd php54 wget http://de1.php.net/distributions/php-5.4.45.tar.gz tar zxf php-5.4.45.tar.gz
./configure --prefix $HOME/php-5.4.45 --enable-mbstring --with-xmlrpc --enable-soap --enable-zip --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --enable-intl --with-xsl --with-mysqli=/usr/bin/mysql_config --with-pdo-mysql --enable-pdo=shared --with-pdo-mysql=shared --with-pdo-sqlite=shared --with-zlib --with-mysql # eigentlich auch noch --with-curl --with-openssl # die jedoch ggf. inkompatibel zu den aktuellen Bibliotheken bei Hostsharing sind # oft kann man jedoch darauf verzichten make make install
Hardlink:
ln php-cgi /home/pacs/xyz00/users/xyz/php-5.4.45/bin/php-cgi
oder eine eigenes phpstub, falls ein Hardlink nicht erwünscht ist:
Dazu die Dateien aus /usr/local/src/phpstub in folgendes Verzeichnis kopieren:
php/phpstub
in der phpstub.c den folgenden Pfad geändert:
execl("/home/pacs/xyz00/php-5.4.45/bin/php-cgi", "php", NULL); make
Die erzeugte phpstub als myphpstub in die entsprechenden Domain fastcgi[-ssl] Verzeichnisse kopieren.
Weiter die
/etc/php5/cgi/php.ini
nach ./fastcgi kopiert.
ACHTUNG: killall php -u $USER wirkt nicht, prozesse mit ps aux kontrolliert und kill
Änderung der .htaccess der entsprechenden Domains
AddType application/x-httpd-phpfastcgi .php Action application/x-httpd-phpfastcgi /fastcgi-bin/myphpstub
/fastcgi-bin ist dabei kein echtes Verzeichnis, sondern ist in der Apache Konfiguration (/etc/apache2/sites-available/example.com) definierter Alias.
Mögliche Probleme mit MySQL-Passwort umgehen
Alle hsadmin definierte MySQL-Passworte sind aus Kompatibilitätsgründen als 16-Byte-Zeichenkette gespeichert. Um das zu umgehen, ändern Sie das Passwort mit MySQL-Mitteln:
xyz00@h0x:~$ mysql -u xyz00_mysql -p Enter password: mysql> SET SESSION old_passwords=0; mysql> SET PASSWORD FOR 'xyz00_mysql'@'%' = PASSWORD('geheim');
Damit wir das Passwort als 41-Byte-Zeichenkette gespeichert.
ACHTUNG: Nach jeder Änderung mit hsadmin wird wieder ein 16-Byte-Hash gespeichert!