Eigene PHP Version: Unterschied zwischen den Versionen

Aus Hostsharing Wiki
Zur Navigation springen Zur Suche springen
(MySQL Passworte)
(killall)
 
(3 dazwischenliegende Versionen von 2 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.  
Zeile 7: 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 --with-curl
./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-openssl --with-xmlrpc --enable-soap --enable-zip --with-gd
 
--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 52: Zeile 57:
nach ./fastcgi kopiert.
nach ./fastcgi kopiert.


Laufende PHP-Prozesse können mit dem Kommando


'''ACHTUNG:''' killall php -u $USER wirkt nicht, prozesse mit ps aux kontrolliert und kill
    killall -u $USER -r php
 
beendet werden.


Änderung der .htaccess der entsprechenden Domains
Änderung der .htaccess der entsprechenden Domains
Zeile 60: Zeile 68:
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 ==

Aktuelle Version vom 13. Mai 2020, 09:36 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!