Eigene PHP Version: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
KKeine Bearbeitungszusammenfassung |
||
(5 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
{{Textkasten|gelb|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 [[PHP]]}} | |||
Falls Anwendungen nach dem Upgrade auf Jessie übergangsweise eine ältere PHP-Version benötigen, kann im Paket eine | Falls Anwendungen nach dem Upgrade auf Jessie übergangsweise eine ältere PHP-Version benötigen, kann im Paket eine | ||
eigene Version compiliert werden. | eigene Version compiliert werden. | ||
< | <syntaxhighlight lang=shell> | ||
mkdir php54 | mkdir php54 | ||
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 | ||
</syntaxhighlight> | |||
<syntaxhighlight lang=shell> | |||
./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 | |||
--with-openssl | # oft kann man jedoch darauf verzichten | ||
make | make | ||
make install | make install | ||
</ | </syntaxhighlight> | ||
Hardlink: | Hardlink: | ||
< | <syntaxhighlight lang=shell> | ||
ln php-cgi /home/pacs/xyz00/users/xyz/php-5.4.45/bin/php-cgi | ln php-cgi /home/pacs/xyz00/users/xyz/php-5.4.45/bin/php-cgi | ||
</ | </syntaxhighlight> | ||
oder eine eigenes phpstub, falls ein Hardlink nicht erwünscht ist: | oder eine eigenes phpstub, falls ein Hardlink nicht erwünscht ist: | ||
Zeile 31: | Zeile 36: | ||
kopieren: | kopieren: | ||
< | <syntaxhighlight lang=output> | ||
php/phpstub | php/phpstub | ||
</ | </syntaxhighlight> | ||
in der phpstub.c den folgenden Pfad geändert: | in der phpstub.c den folgenden Pfad geändert: | ||
< | <syntaxhighlight lang=shell> | ||
execl("/home/pacs/xyz00/php-5.4.45/bin/php-cgi", "php", NULL); | execl("/home/pacs/xyz00/php-5.4.45/bin/php-cgi", "php", NULL); | ||
make | make | ||
</ | </syntaxhighlight> | ||
Die erzeugte phpstub als myphpstub in die entsprechenden Domain | Die erzeugte phpstub als myphpstub in die entsprechenden Domain | ||
Zeile 46: | Zeile 51: | ||
Weiter die | Weiter die | ||
< | <syntaxhighlight lang=output> | ||
/etc/php5/cgi/php.ini | /etc/php5/cgi/php.ini | ||
</ | </syntaxhighlight> | ||
nach ./fastcgi kopiert. | nach ./fastcgi kopiert. | ||
Laufende PHP-Prozesse können mit dem Kommando | |||
<syntaxhighlight lang=output> | |||
killall -u $USER -r php | |||
</syntaxhighlight> | |||
beendet werden. | |||
Änderung der .htaccess der entsprechenden Domains | Änderung der .htaccess der entsprechenden Domains | ||
< | <syntaxhighlight lang=apache line> | ||
AddType application/x-httpd-phpfastcgi .php | AddType application/x-httpd-phpfastcgi .php | ||
Action application/x-httpd-phpfastcgi /fastcgi-bin/myphpstub | Action application/x-httpd-phpfastcgi /fastcgi-bin/myphpstub | ||
</ | </syntaxhighlight> | ||
/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: | |||
<syntaxhighlight lang=shell> | |||
xyz00@h0x:~$ mysql -u xyz00_mysql -p | xyz00@h0x:~$ mysql -u xyz00_mysql -p | ||
Enter password: | Enter password: | ||
Zeile 71: | Zeile 83: | ||
mysql> SET SESSION old_passwords=0; | mysql> SET SESSION old_passwords=0; | ||
mysql> SET PASSWORD FOR 'xyz00_mysql'@'%' = PASSWORD('geheim'); | mysql> SET PASSWORD FOR 'xyz00_mysql'@'%' = PASSWORD('geheim'); | ||
</syntaxhighlight> | |||
Damit wir das Passwort als 41-Byte-Zeichenkette gespeichert. | |||
Damit | |||
ACHTUNG: | ACHTUNG: Nach jeder Änderung mit hsadmin wird wieder ein 16-Byte-Hash gespeichert! | ||
---- | ---- |
Aktuelle Version vom 1. Juli 2024, 11:01 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 PHP
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.
Laufende PHP-Prozesse können mit dem Kommando
killall -u $USER -r php
beendet werden.
Ä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!