Eigene PHP Version: Unterschied zwischen den Versionen

Aus Hostsharing Wiki
Zur Navigation springen Zur Suche springen
K (chg04 h83 entfernt)
KKeine Bearbeitungszusammenfassung
 
(11 dazwischenliegende Versionen von 5 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>


./configure --prefix $HOME/php-5.4.45 --enable-mbstring --with-curl
<syntaxhighlight lang=shell>
--with-openssl --with-xmlrpc --enable-soap --enable-zip --with-gd
./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
 
--with-xsl --with-mysqli=/usr/bin/mysql_config --with-pdo-mysql
# eigentlich auch noch --with-curl --with-openssl
--enable-pdo=shared --with-pdo-mysql=shared --with-pdo-sqlite=shared
# die jedoch ggf. inkompatibel zu den aktuellen Bibliotheken bei Hostsharing sind
--with-zlib --with-mysql
# 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 27: 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
fastcgi[-ssl] Verzeichnisse kopieren.
fastcgi[-ssl] Verzeichnisse kopieren.


Weiter die /etc/php5/cgi/php.ini nach ./fastcgi kopiert.
Weiter die  
Da es wohl keine default php.in im eignene php5.4.45 gibt
<syntaxhighlight lang=output>
/etc/php5/cgi/php.ini  
</syntaxhighlight>
 
nach ./fastcgi kopiert.
 
Laufende PHP-Prozesse können mit dem Kommando
 
<syntaxhighlight lang=output>
killall -u $USER -r php
</syntaxhighlight>


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


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


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


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 58: 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 ist es als 41 bit gespeichert.
ACHTUNG: Nach jeder Änderung mit hsadmin wird wieder ein 16-Byte-Hash gespeichert!


ACHTUNG: sobald es mit hsadmin geändert wird sind es wieder 16 bit!
----
[[Kategorie:HSDoku]]
[[Kategorie:Upgrade Wheezy zu Jessie]]
[[Kategorie:Installationsanleitungen]]
[[Kategorie:Software]]

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!