Eigene PHP Version: Unterschied zwischen den Versionen

Aus Hostsharing Wiki
Zur Navigation springen Zur Suche springen
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.  




<pre>
<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
</pre>
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


<pre>
# eigentlich auch noch --with-curl --with-openssl
./configure --prefix $HOME/php-5.4.45 --enable-mbstring --with-curl
# die jedoch ggf. inkompatibel zu den aktuellen Bibliotheken bei Hostsharing sind
--with-openssl --with-xmlrpc --enable-soap --enable-zip --with-gd
# oft kann man jedoch darauf verzichten
--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


make
make
make install
make install
</pre>
</syntaxhighlight>


Hardlink:
Hardlink:
<pre>
<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
</pre>
</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:


<pre>
<syntaxhighlight lang=output>
php/phpstub
php/phpstub
</pre>
</syntaxhighlight>


in der phpstub.c den folgenden Pfad geändert:
in der phpstub.c den folgenden Pfad geändert:


<pre>
<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
</pre>
</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  
<pre>
<syntaxhighlight lang=output>
/etc/php5/cgi/php.ini  
/etc/php5/cgi/php.ini  
</pre>
</syntaxhighlight>


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
<syntaxhighlight lang=output>
killall -u $USER -r php
</syntaxhighlight>
 
beendet werden.


Änderung der .htaccess der entsprechenden Domains
Änderung der .htaccess der entsprechenden Domains
<pre>
<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
</pre>
</syntaxhighlight>


Alle hsadmin Passwörter Änderungen in 16 Bit gespeichert:
/fastcgi-bin ist dabei kein echtes Verzeichnis, sondern ist in der Apache Konfiguration (/etc/apache2/sites-available/example.com) definierter Alias.


Umgehung:
== Mögliche Probleme mit MySQL-Passwort umgehen ==


<pre>
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>


</pre>
Damit wir das Passwort als 41-Byte-Zeichenkette gespeichert.
 
Damit ist es als 41 bit gespeichert.


ACHTUNG: sobald es mit hsadmin geändert wird sind es wieder 16 bit!
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!