<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.hostsharing.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Cgl00</id>
	<title>Hostsharing Wiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.hostsharing.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Cgl00"/>
	<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Spezial:Beitr%C3%A4ge/Cgl00"/>
	<updated>2026-04-25T20:09:28Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Diskussion:Aktuelles_PHP_mit_phpenv&amp;diff=4853</id>
		<title>Diskussion:Aktuelles PHP mit phpenv</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Diskussion:Aktuelles_PHP_mit_phpenv&amp;diff=4853"/>
		<updated>2019-03-24T23:42:27Z</updated>

		<summary type="html">&lt;p&gt;Cgl00: Logischen Abfolgefehler in der Reihenfolge der Befehle durch Änderung der Seite abgefangen.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Konkret fehlt mindestens ein Hinweis, dass oder ob man die Einzel-Codeteile der Wikiseite nur sequentiell hintereinanderweg ausführen kann und nicht etwa isoliert einen Befehl herausnehmen kann. Es wird m.E. nicht klar, dass der Befehl &#039;&#039;&#039;phpenv&#039;&#039;&#039; nicht automatisch bereits systemweit verfügbar ist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gegebenenfalls fehlt ergänzend zum Verständnis:&lt;br /&gt;
- Als welche Art User muss man eingeloggt sein?&lt;br /&gt;
- In welchem Acount muss man sich befinden?&lt;br /&gt;
- Kann man den Befehl OOTB überall absetzen oder muss man vorher noch etwas zentral einstellen?&lt;br /&gt;
- Muss der Befehl in einem (welchen?) speziellen Pfad abgesetzt werden?&lt;br /&gt;
- Gilt die Anleitung und die genannten Befehle nur bei eigenem Webserver oder auch im Shared Hosting?&lt;br /&gt;
&lt;br /&gt;
Vielleicht ist es hilfreich in allen Anleitungen ein bestimmtes Schema zu etablieren - etwa einen Block &amp;quot;Rahmenbedingungen und Voraussetzungen&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Durch die eigene PHP-Version hat man selbst sicher auch zusätzliche Verantwortung bzw. Aktivitäten, die man nun im Gegensatz zur zentral von HS verwanteten PHP-Installation selbst durchführen muss.&lt;br /&gt;
z.B. auf sicherheitskritische Updates (Wie bekommt man diese mit? Wo findet man sie?) prüfen und diese einspielen (Wie geht das genau? Sind Nacharbeiten nach so einem Update an anderen Stellen erforderlich?)&lt;br /&gt;
&lt;br /&gt;
=&amp;gt; Hier sollte ein Absatz zu den selbstverantwortlichen Aktivitäten auf der Seite ergänzt werden&lt;/div&gt;</summary>
		<author><name>Cgl00</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Aktuelles_PHP_mit_phpenv&amp;diff=4852</id>
		<title>Aktuelles PHP mit phpenv</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Aktuelles_PHP_mit_phpenv&amp;diff=4852"/>
		<updated>2019-03-24T23:40:44Z</updated>

		<summary type="html">&lt;p&gt;Cgl00: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Aktuelle PHP Version (also PHP 7.1.x, 7.2.x oder 7.3.x usw.) lassen sich in einem &#039;&#039;phpenv&#039;&#039; installieren.&lt;br /&gt;
&lt;br /&gt;
== phpenv ==&lt;br /&gt;
&lt;br /&gt;
Dazu geht man wie folgt vor:&lt;br /&gt;
&lt;br /&gt;
    $ cd $HOME&lt;br /&gt;
    $ git clone git://github.com/phpenv/phpenv.git ~/.phpenv&lt;br /&gt;
    $ export PATH=$PATH:~/.phpenv/bin&lt;br /&gt;
    $ eval &amp;quot;$(phpenv init -)&amp;quot;&lt;br /&gt;
    $ git clone https://github.com/php-build/php-build $(phpenv root)/plugins/php-build&lt;br /&gt;
&lt;br /&gt;
Welche PHP-Versionen verfügbar sind, findet man &#039;&#039;&#039;nach&#039;&#039;&#039; der Ausführung des oben beschriebenen &#039;&#039;git clone&#039;&#039; mit:&lt;br /&gt;
&lt;br /&gt;
    $ phpenv install -l&lt;br /&gt;
&lt;br /&gt;
Die voreingestellten Optionen für das Kompilieren von PHP mit php-build holt das Skript aus der Datei&lt;br /&gt;
&lt;br /&gt;
    ~/.phpenv/plugins/php-build/share/php-build/default_configure_options&lt;br /&gt;
&lt;br /&gt;
...man sollte sie sich also zuvor anschauen.&lt;br /&gt;
&lt;br /&gt;
Die PHP-Version &#039;&#039;7.1snapshot&#039;&#039; aus der Liste der verfügbaren PHP-Versionen installiert man anschließend zum Beispiel per:&lt;br /&gt;
&lt;br /&gt;
    $ phpenv install 7.1snapshot&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== phpstub für FastCGI ==&lt;br /&gt;
&lt;br /&gt;
Um diese PHP-Version (hier: 7.1-Snapshot) mit FastCGI (wie bei Hostsharing üblich) zu nutzen&lt;br /&gt;
benötigt man noch einen eingenen PHP-Stub. Dazu kopiert man sich das zentral abgelegte originale phpstub-Verzeichnis in das eigene HOME-Verzeichnis, löscht daraus die phpstub-Datei (phpstub) und editiert die C-Quelldatei des phpstub (phpstub.c):&lt;br /&gt;
&lt;br /&gt;
    $ cd $HOME&lt;br /&gt;
    $ cp -a /usr/local/src/phpstub/ .&lt;br /&gt;
    $ cd $HOME/phpstub&lt;br /&gt;
    $ rm phpstub&lt;br /&gt;
    $ editor phpstub.c&lt;br /&gt;
&lt;br /&gt;
Das kleine C-Programm des phpstub (phpstub.c) ändert man im soeben geöffneten editor wie folgt ab:&lt;br /&gt;
&lt;br /&gt;
    #include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
    #include &amp;lt;unistd.h&amp;gt;&lt;br /&gt;
    #include &amp;lt;libgen.h&amp;gt;&lt;br /&gt;
    int main(int argc, char* argv[]) {&lt;br /&gt;
      setenv(&amp;quot;PHPRC&amp;quot;, dirname(argv[0]), 1);&lt;br /&gt;
      const char* phpbin = getenv(&amp;quot;HTTP_PHP_BIN&amp;quot;);&lt;br /&gt;
      if(phpbin) {&lt;br /&gt;
          execl(phpbin, &amp;quot;php&amp;quot;, NULL);&lt;br /&gt;
      } else {&lt;br /&gt;
          execl(&amp;quot;/home/pacs/xyz00/users/testuser/.phpenv/versions/7.1snapshot/bin/php-cgi&amp;quot;, &amp;quot;php&amp;quot;, NULL);&lt;br /&gt;
      }&lt;br /&gt;
      return(EXIT_FAILURE);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
Dabei sind die Pfadbestandteile &amp;quot;xyz00&amp;quot; und &amp;quot;testuser&amp;quot; durch den Namen des eigenen Paketes und den&lt;br /&gt;
hinteren Bestandteil des aktuellen Usernamens zu ersetzen. Ebenso sollte &amp;quot;7.1snapshot&amp;quot; durch die selbst gewählte PHP-Versionsbezeichnung ersetzt werden.&lt;br /&gt;
&lt;br /&gt;
Nach Verlassen des Editors muss der PHP-Stub zunächst kompiliert werden. Anschließend muss man ihn an den richtigen Ort im Domainverzeichnis kopieren. Wie dies umgesetzt wird, zeigt diese Befehlsfolge:&lt;br /&gt;
&lt;br /&gt;
    $ cd $HOME/phpstub&lt;br /&gt;
    $ make  &lt;br /&gt;
    $ cp phpstub $HOME/doms/example.com/fastcgi/&lt;br /&gt;
    $ cp phpstub $HOME/doms/example.com/fastcgi-ssl/&lt;br /&gt;
&lt;br /&gt;
In der .htaccess-Datei im DocumentRoot der Sub-Domain &amp;lt;SUBDOMAIN&amp;gt; kann man dann die PHP-Dateien auf einen beliebigen phpstub - wie z.B. den eben erzeugten eigenen phpstub - mappen.&lt;br /&gt;
Dazu müssen die folgenden beiden Zeilen zu Beginn in die oben erwähnte .htaccess-Datei eingefügt werden (&amp;quot;phpstub&amp;quot; ersetzen durch den selbstvergebenen Dateinamen des eigenen stubs, &amp;lt;SUBDOMAIN&amp;gt; an die eigene subdomain passen - der Platzhalter &amp;lt;SUBDOMAIN&amp;gt;/ kann ggfs. auch ganz entfernt werden):&lt;br /&gt;
&lt;br /&gt;
  AddType application/x-httpd-phpfastcgi .php&lt;br /&gt;
  Action application/x-httpd-phpfastcgi /fastcgi-bin/&amp;lt;SUBDOMAIN&amp;gt;/phpstub&lt;br /&gt;
&lt;br /&gt;
(siehe dazu auch: https://wiki.hostsharing.net/index.php?title=PHP#eigene_PHP_Konfigurationen_und_verschiedene_nebeneinander_verwenden&lt;br /&gt;
und&lt;br /&gt;
https://wiki.hostsharing.net/index.php?title=WWW#Einstellungen_zum_HTTP_Zugriff)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mit einem kleinen PHP-Skript lässt sich schnell prüfen, ob alles geklappt hat: Man kann eine Datei &#039;&#039;info.php&#039;&#039; mit dem folgenden Inhalt im Verzeichnis &#039;&#039;$HOME/doms/example.com/subs/www/&#039;&#039; bzw. &#039;&#039;$HOME/doms/example.com/subs-ssl/www/&#039;&#039; ablegen.&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;?php&lt;br /&gt;
        phpinfo();&lt;br /&gt;
    ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Im Browser sollte dann durch Aufruf des URL http://www.example.com/info.php bzw. https://www.example.com/info.php die PHP-Version mit allen Informationen&lt;br /&gt;
über das selbstgebaute PHP angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
Achtung: &#039;&#039;example.com&#039;&#039; ist überall durch eine eigene gültige und beim User aufgeschaltete (Sub-)Domain&lt;br /&gt;
zu ersetzen.&lt;/div&gt;</summary>
		<author><name>Cgl00</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Aktuelles_PHP_mit_phpenv&amp;diff=4851</id>
		<title>Aktuelles PHP mit phpenv</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Aktuelles_PHP_mit_phpenv&amp;diff=4851"/>
		<updated>2019-03-24T23:40:19Z</updated>

		<summary type="html">&lt;p&gt;Cgl00: Hinweis auf Nacharbeit ergänzt: PHP-Dateien in .htaccess-Datei auf einen beliebigen phpstub mappen&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Aktuelle PHP Version (also PHP 7.1.x, 7.2.x oder 7.3.x) lassen sich in einem &#039;&#039;phpenv&#039;&#039; installieren.&lt;br /&gt;
&lt;br /&gt;
== phpenv ==&lt;br /&gt;
&lt;br /&gt;
Dazu geht man wie folgt vor:&lt;br /&gt;
&lt;br /&gt;
    $ cd $HOME&lt;br /&gt;
    $ git clone git://github.com/phpenv/phpenv.git ~/.phpenv&lt;br /&gt;
    $ export PATH=$PATH:~/.phpenv/bin&lt;br /&gt;
    $ eval &amp;quot;$(phpenv init -)&amp;quot;&lt;br /&gt;
    $ git clone https://github.com/php-build/php-build $(phpenv root)/plugins/php-build&lt;br /&gt;
&lt;br /&gt;
Welche PHP-Versionen verfügbar sind, findet man &#039;&#039;&#039;nach&#039;&#039;&#039; der Ausführung des oben beschriebenen &#039;&#039;git clone&#039;&#039; mit:&lt;br /&gt;
&lt;br /&gt;
    $ phpenv install -l&lt;br /&gt;
&lt;br /&gt;
Die voreingestellten Optionen für das Kompilieren von PHP mit php-build holt das Skript aus der Datei&lt;br /&gt;
&lt;br /&gt;
    ~/.phpenv/plugins/php-build/share/php-build/default_configure_options&lt;br /&gt;
&lt;br /&gt;
...man sollte sie sich also zuvor anschauen.&lt;br /&gt;
&lt;br /&gt;
Die PHP-Version &#039;&#039;7.1snapshot&#039;&#039; aus der Liste der verfügbaren PHP-Versionen installiert man anschließend zum Beispiel per:&lt;br /&gt;
&lt;br /&gt;
    $ phpenv install 7.1snapshot&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== phpstub für FastCGI ==&lt;br /&gt;
&lt;br /&gt;
Um diese PHP-Version (hier: 7.1-Snapshot) mit FastCGI (wie bei Hostsharing üblich) zu nutzen&lt;br /&gt;
benötigt man noch einen eingenen PHP-Stub. Dazu kopiert man sich das zentral abgelegte originale phpstub-Verzeichnis in das eigene HOME-Verzeichnis, löscht daraus die phpstub-Datei (phpstub) und editiert die C-Quelldatei des phpstub (phpstub.c):&lt;br /&gt;
&lt;br /&gt;
    $ cd $HOME&lt;br /&gt;
    $ cp -a /usr/local/src/phpstub/ .&lt;br /&gt;
    $ cd $HOME/phpstub&lt;br /&gt;
    $ rm phpstub&lt;br /&gt;
    $ editor phpstub.c&lt;br /&gt;
&lt;br /&gt;
Das kleine C-Programm des phpstub (phpstub.c) ändert man im soeben geöffneten editor wie folgt ab:&lt;br /&gt;
&lt;br /&gt;
    #include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
    #include &amp;lt;unistd.h&amp;gt;&lt;br /&gt;
    #include &amp;lt;libgen.h&amp;gt;&lt;br /&gt;
    int main(int argc, char* argv[]) {&lt;br /&gt;
      setenv(&amp;quot;PHPRC&amp;quot;, dirname(argv[0]), 1);&lt;br /&gt;
      const char* phpbin = getenv(&amp;quot;HTTP_PHP_BIN&amp;quot;);&lt;br /&gt;
      if(phpbin) {&lt;br /&gt;
          execl(phpbin, &amp;quot;php&amp;quot;, NULL);&lt;br /&gt;
      } else {&lt;br /&gt;
          execl(&amp;quot;/home/pacs/xyz00/users/testuser/.phpenv/versions/7.1snapshot/bin/php-cgi&amp;quot;, &amp;quot;php&amp;quot;, NULL);&lt;br /&gt;
      }&lt;br /&gt;
      return(EXIT_FAILURE);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
Dabei sind die Pfadbestandteile &amp;quot;xyz00&amp;quot; und &amp;quot;testuser&amp;quot; durch den Namen des eigenen Paketes und den&lt;br /&gt;
hinteren Bestandteil des aktuellen Usernamens zu ersetzen. Ebenso sollte &amp;quot;7.1snapshot&amp;quot; durch die selbst gewählte PHP-Versionsbezeichnung ersetzt werden.&lt;br /&gt;
&lt;br /&gt;
Nach Verlassen des Editors muss der PHP-Stub zunächst kompiliert werden. Anschließend muss man ihn an den richtigen Ort im Domainverzeichnis kopieren. Wie dies umgesetzt wird, zeigt diese Befehlsfolge:&lt;br /&gt;
&lt;br /&gt;
    $ cd $HOME/phpstub&lt;br /&gt;
    $ make  &lt;br /&gt;
    $ cp phpstub $HOME/doms/example.com/fastcgi/&lt;br /&gt;
    $ cp phpstub $HOME/doms/example.com/fastcgi-ssl/&lt;br /&gt;
&lt;br /&gt;
In der .htaccess-Datei im DocumentRoot der Sub-Domain &amp;lt;SUBDOMAIN&amp;gt; kann man dann die PHP-Dateien auf einen beliebigen phpstub - wie z.B. den eben erzeugten eigenen phpstub - mappen.&lt;br /&gt;
Dazu müssen die folgenden beiden Zeilen zu Beginn in die oben erwähnte .htaccess-Datei eingefügt werden (&amp;quot;phpstub&amp;quot; ersetzen durch den selbstvergebenen Dateinamen des eigenen stubs, &amp;lt;SUBDOMAIN&amp;gt; an die eigene subdomain passen - der Platzhalter &amp;lt;SUBDOMAIN&amp;gt;/ kann ggfs. auch ganz entfernt werden):&lt;br /&gt;
&lt;br /&gt;
  AddType application/x-httpd-phpfastcgi .php&lt;br /&gt;
  Action application/x-httpd-phpfastcgi /fastcgi-bin/&amp;lt;SUBDOMAIN&amp;gt;/phpstub&lt;br /&gt;
&lt;br /&gt;
(siehe dazu auch: https://wiki.hostsharing.net/index.php?title=PHP#eigene_PHP_Konfigurationen_und_verschiedene_nebeneinander_verwenden&lt;br /&gt;
und&lt;br /&gt;
https://wiki.hostsharing.net/index.php?title=WWW#Einstellungen_zum_HTTP_Zugriff)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Mit einem kleinen PHP-Skript lässt sich schnell prüfen, ob alles geklappt hat: Man kann eine Datei &#039;&#039;info.php&#039;&#039; mit dem folgenden Inhalt im Verzeichnis &#039;&#039;$HOME/doms/example.com/subs/www/&#039;&#039; bzw. &#039;&#039;$HOME/doms/example.com/subs-ssl/www/&#039;&#039; ablegen.&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;?php&lt;br /&gt;
        phpinfo();&lt;br /&gt;
    ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Im Browser sollte dann durch Aufruf des URL http://www.example.com/info.php bzw. https://www.example.com/info.php die PHP-Version mit allen Informationen&lt;br /&gt;
über das selbstgebaute PHP angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
Achtung: &#039;&#039;example.com&#039;&#039; ist überall durch eine eigene gültige und beim User aufgeschaltete (Sub-)Domain&lt;br /&gt;
zu ersetzen.&lt;/div&gt;</summary>
		<author><name>Cgl00</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Aktuelles_PHP_mit_phpenv&amp;diff=4850</id>
		<title>Aktuelles PHP mit phpenv</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Aktuelles_PHP_mit_phpenv&amp;diff=4850"/>
		<updated>2019-03-24T23:14:26Z</updated>

		<summary type="html">&lt;p&gt;Cgl00: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Aktuelle PHP Version (also PHP 7.1.x, 7.2.x oder 7.3.x) lassen sich in einem &#039;&#039;phpenv&#039;&#039; installieren.&lt;br /&gt;
&lt;br /&gt;
== phpenv ==&lt;br /&gt;
&lt;br /&gt;
Dazu geht man wie folgt vor:&lt;br /&gt;
&lt;br /&gt;
    $ cd $HOME&lt;br /&gt;
    $ git clone git://github.com/phpenv/phpenv.git ~/.phpenv&lt;br /&gt;
    $ export PATH=$PATH:~/.phpenv/bin&lt;br /&gt;
    $ eval &amp;quot;$(phpenv init -)&amp;quot;&lt;br /&gt;
    $ git clone https://github.com/php-build/php-build $(phpenv root)/plugins/php-build&lt;br /&gt;
&lt;br /&gt;
Welche PHP-Versionen verfügbar sind, findet man &#039;&#039;&#039;nach&#039;&#039;&#039; der Ausführung des oben beschriebenen &#039;&#039;git clone&#039;&#039; mit:&lt;br /&gt;
&lt;br /&gt;
    $ phpenv install -l&lt;br /&gt;
&lt;br /&gt;
Die voreingestellten Optionen für das Kompilieren von PHP mit php-build holt das Skript aus der Datei&lt;br /&gt;
&lt;br /&gt;
    ~/.phpenv/plugins/php-build/share/php-build/default_configure_options&lt;br /&gt;
&lt;br /&gt;
...man sollte sie sich also zuvor anschauen.&lt;br /&gt;
&lt;br /&gt;
Die PHP-Version &#039;&#039;7.1snapshot&#039;&#039; aus der Liste der verfügbaren PHP-Versionen installiert man anschließend zum Beispiel per:&lt;br /&gt;
&lt;br /&gt;
    $ phpenv install 7.1snapshot&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== phpstub für FastCGI ==&lt;br /&gt;
&lt;br /&gt;
Um diese PHP-Version (hier: 7.1-Snapshot) mit FastCGI (wie bei Hostsharing üblich) zu nutzen&lt;br /&gt;
benötigt man noch einen eingenen PHP-Stub. Dazu kopiert man sich das zentral abgelegte originale phpstub-Verzeichnis in das eigene HOME-Verzeichnis, löscht daraus die phpstub-Datei (phpstub) und editiert die C-Quelldatei des phpstub (phpstub.c):&lt;br /&gt;
&lt;br /&gt;
    $ cd $HOME&lt;br /&gt;
    $ cp -a /usr/local/src/phpstub/ .&lt;br /&gt;
    $ cd $HOME/phpstub&lt;br /&gt;
    $ rm phpstub&lt;br /&gt;
    $ editor phpstub.c&lt;br /&gt;
&lt;br /&gt;
Das kleine C-Programm des phpstub (phpstub.c) ändert man im soeben geöffneten editor wie folgt ab:&lt;br /&gt;
&lt;br /&gt;
    #include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
    #include &amp;lt;unistd.h&amp;gt;&lt;br /&gt;
    #include &amp;lt;libgen.h&amp;gt;&lt;br /&gt;
    int main(int argc, char* argv[]) {&lt;br /&gt;
      setenv(&amp;quot;PHPRC&amp;quot;, dirname(argv[0]), 1);&lt;br /&gt;
      const char* phpbin = getenv(&amp;quot;HTTP_PHP_BIN&amp;quot;);&lt;br /&gt;
      if(phpbin) {&lt;br /&gt;
          execl(phpbin, &amp;quot;php&amp;quot;, NULL);&lt;br /&gt;
      } else {&lt;br /&gt;
          execl(&amp;quot;/home/pacs/xyz00/users/testuser/.phpenv/versions/7.1snapshot/bin/php-cgi&amp;quot;, &amp;quot;php&amp;quot;, NULL);&lt;br /&gt;
      }&lt;br /&gt;
      return(EXIT_FAILURE);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
Dabei sind die Pfadbestandteile &amp;quot;xyz00&amp;quot; und &amp;quot;testuser&amp;quot; durch den Namen des eigenen Paketes und den&lt;br /&gt;
hinteren Bestandteil des aktuellen Usernamens zu ersetzen. Ebenso sollte &amp;quot;7.1snapshot&amp;quot; durch die selbst gewählte PHP-Versionsbezeichnung ersetzt werden.&lt;br /&gt;
&lt;br /&gt;
Nach Verlassen des Editors muss der PHP-Stub zunächst kompiliert werden. Anschließend muss man ihn an den richtigen Ort im Domainverzeichnis kopieren. Wie dies umgesetzt wird, zeigt diese Befehlsfolge:&lt;br /&gt;
&lt;br /&gt;
    $ cd $HOME/phpstub&lt;br /&gt;
    $ make  &lt;br /&gt;
    $ cp phpstub $HOME/doms/example.com/fastcgi/&lt;br /&gt;
    $ cp phpstub $HOME/doms/example.com/fastcgi-ssl/&lt;br /&gt;
&lt;br /&gt;
Mit einem kleinen PHP-Skript lässt sich schnell prüfen, ob alles geklappt hat: Man kann eine Datei &#039;&#039;info.php&#039;&#039; mit dem folgenden Inhalt im Verzeichnis &#039;&#039;$HOME/doms/example.com/subs/www/&#039;&#039; bzw. &#039;&#039;$HOME/doms/example.com/subs-ssl/www/&#039;&#039; ablegen.&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;?php&lt;br /&gt;
        phpinfo();&lt;br /&gt;
    ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Im Browser sollte dann durch Aufruf des URL http://www.example.com/info.php bzw. https://www.example.com/info.php die PHP-Version mit allen Informationen&lt;br /&gt;
über das selbstgebaute PHP angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
Achtung: &#039;&#039;example.com&#039;&#039; ist überall durch eine eigene gültige und beim User aufgeschaltete (Sub-)Domain&lt;br /&gt;
zu ersetzen.&lt;/div&gt;</summary>
		<author><name>Cgl00</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Aktuelles_PHP_mit_phpenv&amp;diff=4849</id>
		<title>Aktuelles PHP mit phpenv</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Aktuelles_PHP_mit_phpenv&amp;diff=4849"/>
		<updated>2019-03-24T23:08:04Z</updated>

		<summary type="html">&lt;p&gt;Cgl00: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Aktuelle PHP Version (also PHP 7.1.x, 7.2.x oder 7.3.x) lassen sich in einem &#039;&#039;phpenv&#039;&#039; installieren.&lt;br /&gt;
&lt;br /&gt;
== phpenv ==&lt;br /&gt;
&lt;br /&gt;
Dazu geht man wie folgt vor:&lt;br /&gt;
&lt;br /&gt;
    $ cd $HOME&lt;br /&gt;
    $ git clone git://github.com/phpenv/phpenv.git ~/.phpenv&lt;br /&gt;
    $ export PATH=$PATH:~/.phpenv/bin&lt;br /&gt;
    $ eval &amp;quot;$(phpenv init -)&amp;quot;&lt;br /&gt;
    $ git clone https://github.com/php-build/php-build $(phpenv root)/plugins/php-build&lt;br /&gt;
&lt;br /&gt;
Welche PHP-Versionen verfügbar sind, findet man &#039;&#039;&#039;nach&#039;&#039;&#039; der Ausführung des oben beschriebenen &#039;&#039;git clone&#039;&#039; mit:&lt;br /&gt;
&lt;br /&gt;
    $ phpenv install -l&lt;br /&gt;
&lt;br /&gt;
Die voreingestellten Optionen für das Kompilieren von PHP mit php-build holt das Skript aus der Datei&lt;br /&gt;
&lt;br /&gt;
    ~/.phpenv/plugins/php-build/share/php-build/default_configure_options&lt;br /&gt;
&lt;br /&gt;
...man sollte sie sich also zuvor anschauen.&lt;br /&gt;
&lt;br /&gt;
Die PHP-Version &#039;&#039;7.1snapshot&#039;&#039; aus der Liste der verfügbaren PHP-Versionen installiert man anschließend zum Beispiel per:&lt;br /&gt;
&lt;br /&gt;
    $ phpenv install 7.1snapshot&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== phpstub für FastCGI ==&lt;br /&gt;
&lt;br /&gt;
Um diese PHP-Version (hier: 7.1-Snapshot) mit FastCGI (wie bei Hostsharing üblich) zu nutzen&lt;br /&gt;
benötigt man noch einen eingenen PHP-Stub. Dazu kopiert man sich das zentral abgelegte originale phpstub-Verzeichnis in das eigene HOME-Verzeichnis, löscht daraus die phpstub-Datei (phpstub) und editiert die C-Quelldatei des phpstub (phpstub.c):&lt;br /&gt;
&lt;br /&gt;
    $ cd $HOME&lt;br /&gt;
    $ cp -a /usr/local/src/phpstub/ .&lt;br /&gt;
    $ cd $HOME/phpstub&lt;br /&gt;
    $ rm phpstub&lt;br /&gt;
    $ editor phpstub.c&lt;br /&gt;
&lt;br /&gt;
Das kleine C-Programm des phpstub (phpstub.c) ändert man im soeben geöffneten editor wie folgt ab:&lt;br /&gt;
&lt;br /&gt;
    #include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
    #include &amp;lt;unistd.h&amp;gt;&lt;br /&gt;
    #include &amp;lt;libgen.h&amp;gt;&lt;br /&gt;
    int main(int argc, char* argv[]) {&lt;br /&gt;
      setenv(&amp;quot;PHPRC&amp;quot;, dirname(argv[0]), 1);&lt;br /&gt;
      const char* phpbin = getenv(&amp;quot;HTTP_PHP_BIN&amp;quot;);&lt;br /&gt;
      if(phpbin) {&lt;br /&gt;
          execl(phpbin, &amp;quot;php&amp;quot;, NULL);&lt;br /&gt;
      } else {&lt;br /&gt;
          execl(&amp;quot;/home/pacs/xyz00/users/testuser/.phpenv/versions/7.1snapshot/bin/php-cgi&amp;quot;, &amp;quot;php&amp;quot;, NULL);&lt;br /&gt;
      }&lt;br /&gt;
      return(EXIT_FAILURE);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
Dabei sind die Pfadbestandteile &amp;quot;xyz00&amp;quot; und &amp;quot;testuser&amp;quot; durch den Namen des eigenen Paketes und den&lt;br /&gt;
hinteren Bestandteil des aktuellen Usernamens zu ersetzen. Ebenso sollte &amp;quot;7.1snapshot&amp;quot; durch die selbst gewählte PHP-Versionsbezeichnung ersetzt werden.&lt;br /&gt;
&lt;br /&gt;
Nach Verlassen des Editors muss der PHP-Stub zunächst kompiliert werden. Anschließend muss man ihn an den richtigen Ort im Domainverzeichnis kopieren. Wie dies umgesetzt wird, zeigt diese Befehlsfolge:&lt;br /&gt;
&lt;br /&gt;
    $ cd $HOME/phpstub&lt;br /&gt;
    $ make  &lt;br /&gt;
    $ cp phpstub $HOME/doms/example.com/fastcgi-ssl/&lt;br /&gt;
    $ cp phpstub $HOME/doms/example.com/fastcgi/&lt;br /&gt;
&lt;br /&gt;
Mit einem kleinen PHP-Skript lässt sich schnell prüfen, ob alles geklappt hat: Man kann eine Datei &#039;&#039;info.php&#039;&#039; mit dem folgenden Inhalt im Verzeichnis &#039;&#039;$HOME/doms/example.com/subs/www/&#039;&#039; bzw. &#039;&#039;$HOME/doms/example.com/subs-ssl/www/&#039;&#039; ablegen.&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;?php&lt;br /&gt;
        phpinfo();&lt;br /&gt;
    ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Im Browser sollte dann durch Aufruf des URL http://www.example.com/info.php bzw. https://www.example.com/info.php die PHP-Version mit allen Informationen&lt;br /&gt;
über das selbstgebaute PHP angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
Achtung: &#039;&#039;example.com&#039;&#039; ist überall durch eine eigene gültige und beim User aufgeschaltete (Sub-)Domain&lt;br /&gt;
zu ersetzen.&lt;/div&gt;</summary>
		<author><name>Cgl00</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Aktuelles_PHP_mit_phpenv&amp;diff=4848</id>
		<title>Aktuelles PHP mit phpenv</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Aktuelles_PHP_mit_phpenv&amp;diff=4848"/>
		<updated>2019-03-24T23:05:57Z</updated>

		<summary type="html">&lt;p&gt;Cgl00: Etwas detaillierter + rundere Formulierung&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Aktuelle PHP Version (also PHP 7.1.x, 7.2.x oder 7.3.x) lassen sich in einem &#039;&#039;phpenv&#039;&#039; installieren.&lt;br /&gt;
&lt;br /&gt;
== phpenv ==&lt;br /&gt;
&lt;br /&gt;
Dazu geht man wie folgt vor:&lt;br /&gt;
&lt;br /&gt;
    $ cd $HOME&lt;br /&gt;
    $ git clone git://github.com/phpenv/phpenv.git ~/.phpenv&lt;br /&gt;
    $ export PATH=$PATH:~/.phpenv/bin&lt;br /&gt;
    $ eval &amp;quot;$(phpenv init -)&amp;quot;&lt;br /&gt;
    $ git clone https://github.com/php-build/php-build $(phpenv root)/plugins/php-build&lt;br /&gt;
&lt;br /&gt;
Welche PHP-Versionen verfügbar sind, findet man &#039;&#039;&#039;nach&#039;&#039;&#039; der Ausführung des oben beschriebenen &#039;&#039;git clone&#039;&#039; mit:&lt;br /&gt;
&lt;br /&gt;
    $ phpenv install -l&lt;br /&gt;
&lt;br /&gt;
Die voreingestellten Optionen für das Kompilieren von PHP mit php-build holt das Skript aus der Datei&lt;br /&gt;
&lt;br /&gt;
    ~/.phpenv/plugins/php-build/share/php-build/default_configure_options&lt;br /&gt;
&lt;br /&gt;
...man sollte sie sich also zuvor anschauen.&lt;br /&gt;
&lt;br /&gt;
Die PHP-Version &#039;&#039;7.1snapshot&#039;&#039; aus der Liste der verfügbaren PHP-Versionen installiert man anschließend zum Beispiel per:&lt;br /&gt;
&lt;br /&gt;
    $ phpenv install 7.1snapshot&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== phpstub für FastCGI ==&lt;br /&gt;
&lt;br /&gt;
Um diese PHP-Version (hier: 7.1-Snapshot) mit FastCGI (wie bei Hostsharing üblich) zu nutzen&lt;br /&gt;
benötigt man noch einen eingenen PHP-Stub. Dazu kopiert man sich das zentral abgelegte originale phpstub-Verzeichnis in das eigene HOME-Verzeichnis, löscht daraus die phpstub-Datei (phpstub) und editiert die C-Quelldatei des phpstub (phpstub.c):&lt;br /&gt;
&lt;br /&gt;
    $ cd $HOME&lt;br /&gt;
    $ cp -a /usr/local/src/phpstub/ .&lt;br /&gt;
    $ cd $HOME/phpstub&lt;br /&gt;
    $ rm phpstub&lt;br /&gt;
    $ editor phpstub.c&lt;br /&gt;
&lt;br /&gt;
Das kleine C-Programm des phpstub (phpstub.c) ändert man im soeben geöffneten editor wie folgt ab:&lt;br /&gt;
&lt;br /&gt;
    #include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
    #include &amp;lt;unistd.h&amp;gt;&lt;br /&gt;
    #include &amp;lt;libgen.h&amp;gt;&lt;br /&gt;
    int main(int argc, char* argv[]) {&lt;br /&gt;
      setenv(&amp;quot;PHPRC&amp;quot;, dirname(argv[0]), 1);&lt;br /&gt;
      const char* phpbin = getenv(&amp;quot;HTTP_PHP_BIN&amp;quot;);&lt;br /&gt;
      if(phpbin) {&lt;br /&gt;
          execl(phpbin, &amp;quot;php&amp;quot;, NULL);&lt;br /&gt;
      } else {&lt;br /&gt;
          execl(&amp;quot;/home/pacs/xyz00/users/testuser/.phpenv/versions/7.1snapshot/bin/php-cgi&amp;quot;, &amp;quot;php&amp;quot;, NULL);&lt;br /&gt;
      }&lt;br /&gt;
      return(EXIT_FAILURE);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
Dabei sind die Pfadbestandteile &amp;quot;xyz00&amp;quot; und &amp;quot;testuser&amp;quot; durch den Namen des eigenen Paketes und den&lt;br /&gt;
hinteren Bestandteil des aktuellen Usernamens zu ersetzen. Ebenso sollte &amp;quot;7.1snapshot&amp;quot; durch die selbst gewählte PHP-Versionsbezeichnung ersetzt werden.&lt;br /&gt;
&lt;br /&gt;
Nach Verlassen des Editors muss der PHP-Stub zunächst kompiliert werden. Anschließend muss man ihn an den richtigen Ort im Domainverzeichnis kopieren. Wie dies umgesetzt wird, zeigt diese Befehlsfolge:&lt;br /&gt;
&lt;br /&gt;
    $ cd $HOME/phpstub&lt;br /&gt;
    $ make  &lt;br /&gt;
    $ cp phpstub $HOME/doms/example.com/fastcgi-ssl/&lt;br /&gt;
    $ cp phpstub $HOME/doms/example.com/fastcgi/&lt;br /&gt;
&lt;br /&gt;
Mit einem kleinen PHP-Skript lässt sich schnell prüfen, ob alles geklappt hat: Man kann eine Datei &#039;&#039;info.php&#039;&#039; mit dem folgenden Inhalt im Verzeichnis &#039;&#039;$HOME/doms/example.com/subs/www/&#039;&#039; bzw. &#039;&#039;$HOME/doms/example.com/subs-ssl/www/&#039;&#039; ablegen.&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;?php&lt;br /&gt;
        phpinfo();&lt;br /&gt;
    ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Im Browser sollte dann durch Aufruf des URL &amp;quot;http://www.example.com/info.php&#039;&#039; bzw. &#039;&#039;https://www.example.com/info.php&#039;&#039; die PHP-Version mit allen Informationen&lt;br /&gt;
über das selbstgebaute PHP angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
Achtung: &#039;&#039;example.com&#039;&#039; ist überall durch eine eigene gültige und beim User aufgeschaltete (Sub-)Domain&lt;br /&gt;
zu ersetzen.&lt;/div&gt;</summary>
		<author><name>Cgl00</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Aktuelles_PHP_mit_phpenv&amp;diff=4847</id>
		<title>Aktuelles PHP mit phpenv</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Aktuelles_PHP_mit_phpenv&amp;diff=4847"/>
		<updated>2019-03-24T22:53:21Z</updated>

		<summary type="html">&lt;p&gt;Cgl00: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Aktuelle PHP Version (also PHP 7.1.x, 7.2.x oder 7.3.x) lassen sich in einem &#039;&#039;phpenv&#039;&#039; installieren.&lt;br /&gt;
&lt;br /&gt;
== phpenv ==&lt;br /&gt;
&lt;br /&gt;
Dazu geht man wie folgt vor:&lt;br /&gt;
&lt;br /&gt;
    $ cd $HOME&lt;br /&gt;
    $ git clone git://github.com/phpenv/phpenv.git ~/.phpenv&lt;br /&gt;
    $ export PATH=$PATH:~/.phpenv/bin&lt;br /&gt;
    $ eval &amp;quot;$(phpenv init -)&amp;quot;&lt;br /&gt;
    $ git clone https://github.com/php-build/php-build $(phpenv root)/plugins/php-build&lt;br /&gt;
&lt;br /&gt;
Welche PHP-Versionen verfügbar sind, findet man &#039;&#039;&#039;nach&#039;&#039;&#039; der Ausführung des oben beschriebenen &#039;&#039;git clone&#039;&#039; mit:&lt;br /&gt;
&lt;br /&gt;
    $ phpenv install -l&lt;br /&gt;
&lt;br /&gt;
Die voreingestellten Optionen für das Kompilieren von PHP mit php-build holt das Skript aus der Datei&lt;br /&gt;
&lt;br /&gt;
    ~/.phpenv/plugins/php-build/share/php-build/default_configure_options&lt;br /&gt;
&lt;br /&gt;
...man sollte sie sich also zuvor anschauen.&lt;br /&gt;
&lt;br /&gt;
Die PHP-Version &#039;&#039;7.1snapshot&#039;&#039; aus der Liste der verfügbaren PHP-Versionen installiert man anschließend zum Beispiel per:&lt;br /&gt;
&lt;br /&gt;
    $ phpenv install 7.1snapshot&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== phpstub für FastCGI ==&lt;br /&gt;
&lt;br /&gt;
Um diese PHP-Version (hier: 7.1-Snapshot) mit FastCGI (wie bei Hostsharing üblich) zu nutzen&lt;br /&gt;
benötigt man noch einen eingenen PHP-Stub. Dazu:&lt;br /&gt;
&lt;br /&gt;
    $ cd $HOME&lt;br /&gt;
    $ cp -a /usr/local/src/phpstub/ .&lt;br /&gt;
    $ cd $HOME/phpstub&lt;br /&gt;
    $ rm phpstub&lt;br /&gt;
    $ editor phpstub.c&lt;br /&gt;
&lt;br /&gt;
Das kleine C-Programm wie folgt abändern:&lt;br /&gt;
&lt;br /&gt;
    #include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
    #include &amp;lt;unistd.h&amp;gt;&lt;br /&gt;
    #include &amp;lt;libgen.h&amp;gt;&lt;br /&gt;
    int main(int argc, char* argv[]) {&lt;br /&gt;
      setenv(&amp;quot;PHPRC&amp;quot;, dirname(argv[0]), 1);&lt;br /&gt;
      const char* phpbin = getenv(&amp;quot;HTTP_PHP_BIN&amp;quot;);&lt;br /&gt;
      if(phpbin) {&lt;br /&gt;
          execl(phpbin, &amp;quot;php&amp;quot;, NULL);&lt;br /&gt;
      } else {&lt;br /&gt;
          execl(&amp;quot;/home/pacs/xyz00/users/testuser/.phpenv/versions/7.1snapshot/bin/php-cgi&amp;quot;, &amp;quot;php&amp;quot;, NULL);&lt;br /&gt;
      }&lt;br /&gt;
      return(EXIT_FAILURE);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
Dabei sind die Pfadbestandteile &amp;quot;xyz00&amp;quot; und &amp;quot;testuser&amp;quot; durch den Namen des eigenen Paketes und den&lt;br /&gt;
hinteren Bestandteil des aktuellen Usernamens zu ersetzen.&lt;br /&gt;
&lt;br /&gt;
Nach Verlassen des Editors wird der PHP-Stub kompiliert und an den richtigen Ort im Domainverzeichnis kopiert:&lt;br /&gt;
&lt;br /&gt;
    $ cd $HOME/phpstub&lt;br /&gt;
    $ make  &lt;br /&gt;
    $ cp phpstub $HOME/doms/example.com/fastcgi-ssl/&lt;br /&gt;
    $ cp phpstub $HOME/doms/example.com/fastcgi/&lt;br /&gt;
&lt;br /&gt;
Mit einem kleinen PHP-Skript lässt sich schnell prüfen, ob alles geklappt hat: Man kann eine Datei &#039;&#039;info.php&#039;&#039; mit dem folgenden Inhalt im Verzeichnis &#039;&#039;$HOME/doms/example.com/subs-ssl/www/&#039;&#039; ablegen.&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;?php&lt;br /&gt;
        phpinfo();&lt;br /&gt;
    ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Im Browser sollte mit: &#039;&#039;https://www.example.com/info.php&#039;&#039; die PHP-Version mit allen Informationen&lt;br /&gt;
über das selbstgebaute PHP angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
Achtung: &#039;&#039;example.com&#039;&#039; ist überall durch eine eigene gültige und beim User aufgeschaltete (Sub-)Domain&lt;br /&gt;
zu ersetzen.&lt;/div&gt;</summary>
		<author><name>Cgl00</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Aktuelles_PHP_mit_phpenv&amp;diff=4846</id>
		<title>Aktuelles PHP mit phpenv</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Aktuelles_PHP_mit_phpenv&amp;diff=4846"/>
		<updated>2019-03-24T22:52:37Z</updated>

		<summary type="html">&lt;p&gt;Cgl00: Reihenfolge logischer und etwas leichter zu verstehende Formulierung&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Aktuelle PHP Version (also PHP 7.1.x, 7.2.x oder 7.3.x) lassen sich in einem &#039;&#039;phpenv&#039;&#039; installieren.&lt;br /&gt;
&lt;br /&gt;
== phpenv ==&lt;br /&gt;
&lt;br /&gt;
Dazu geht man wie folgt vor:&lt;br /&gt;
&lt;br /&gt;
    $ cd $HOME&lt;br /&gt;
    $ git clone git://github.com/phpenv/phpenv.git ~/.phpenv&lt;br /&gt;
    $ export PATH=$PATH:~/.phpenv/bin&lt;br /&gt;
    $ eval &amp;quot;$(phpenv init -)&amp;quot;&lt;br /&gt;
    $ git clone https://github.com/php-build/php-build $(phpenv root)/plugins/php-build&lt;br /&gt;
&lt;br /&gt;
Welche PHP-Versionen verfügbar sind, findet man &#039;&#039;&#039;nach&#039;&#039;&#039; der Ausführung des oben beschriebenen &#039;&#039;git clone&#039;&#039; mit:&lt;br /&gt;
&lt;br /&gt;
    $ phpenv install -l&lt;br /&gt;
&lt;br /&gt;
Die voreingestellten Optionen für das Kompilieren von PHP mit php-build holt das Skript aus der Datei&lt;br /&gt;
&lt;br /&gt;
    ~/.phpenv/plugins/php-build/share/php-build/default_configure_options&lt;br /&gt;
&lt;br /&gt;
...man sollte sie sich also zuvor anschauen.&lt;br /&gt;
&lt;br /&gt;
Die PHP-Version 7.1snapshot aus der Liste der verfügbaren PHP-Versionen installiert man anschließend zum Beispiel per:&lt;br /&gt;
&lt;br /&gt;
    $ phpenv install 7.1snapshot&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== phpstub für FastCGI ==&lt;br /&gt;
&lt;br /&gt;
Um diese PHP-Version (hier: 7.1-Snapshot) mit FastCGI (wie bei Hostsharing üblich) zu nutzen&lt;br /&gt;
benötigt man noch einen eingenen PHP-Stub. Dazu:&lt;br /&gt;
&lt;br /&gt;
    $ cd $HOME&lt;br /&gt;
    $ cp -a /usr/local/src/phpstub/ .&lt;br /&gt;
    $ cd $HOME/phpstub&lt;br /&gt;
    $ rm phpstub&lt;br /&gt;
    $ editor phpstub.c&lt;br /&gt;
&lt;br /&gt;
Das kleine C-Programm wie folgt abändern:&lt;br /&gt;
&lt;br /&gt;
    #include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
    #include &amp;lt;unistd.h&amp;gt;&lt;br /&gt;
    #include &amp;lt;libgen.h&amp;gt;&lt;br /&gt;
    int main(int argc, char* argv[]) {&lt;br /&gt;
      setenv(&amp;quot;PHPRC&amp;quot;, dirname(argv[0]), 1);&lt;br /&gt;
      const char* phpbin = getenv(&amp;quot;HTTP_PHP_BIN&amp;quot;);&lt;br /&gt;
      if(phpbin) {&lt;br /&gt;
          execl(phpbin, &amp;quot;php&amp;quot;, NULL);&lt;br /&gt;
      } else {&lt;br /&gt;
          execl(&amp;quot;/home/pacs/xyz00/users/testuser/.phpenv/versions/7.1snapshot/bin/php-cgi&amp;quot;, &amp;quot;php&amp;quot;, NULL);&lt;br /&gt;
      }&lt;br /&gt;
      return(EXIT_FAILURE);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
Dabei sind die Pfadbestandteile &amp;quot;xyz00&amp;quot; und &amp;quot;testuser&amp;quot; durch den Namen des eigenen Paketes und den&lt;br /&gt;
hinteren Bestandteil des aktuellen Usernamens zu ersetzen.&lt;br /&gt;
&lt;br /&gt;
Nach Verlassen des Editors wird der PHP-Stub kompiliert und an den richtigen Ort im Domainverzeichnis kopiert:&lt;br /&gt;
&lt;br /&gt;
    $ cd $HOME/phpstub&lt;br /&gt;
    $ make  &lt;br /&gt;
    $ cp phpstub $HOME/doms/example.com/fastcgi-ssl/&lt;br /&gt;
    $ cp phpstub $HOME/doms/example.com/fastcgi/&lt;br /&gt;
&lt;br /&gt;
Mit einem kleinen PHP-Skript lässt sich schnell prüfen, ob alles geklappt hat: Man kann eine Datei &#039;&#039;info.php&#039;&#039; mit dem folgenden Inhalt im Verzeichnis &#039;&#039;$HOME/doms/example.com/subs-ssl/www/&#039;&#039; ablegen.&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;?php&lt;br /&gt;
        phpinfo();&lt;br /&gt;
    ?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Im Browser sollte mit: &#039;&#039;https://www.example.com/info.php&#039;&#039; die PHP-Version mit allen Informationen&lt;br /&gt;
über das selbstgebaute PHP angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
Achtung: &#039;&#039;example.com&#039;&#039; ist überall durch eine eigene gültige und beim User aufgeschaltete (Sub-)Domain&lt;br /&gt;
zu ersetzen.&lt;/div&gt;</summary>
		<author><name>Cgl00</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Diskussion:Aktuelles_PHP_mit_phpenv&amp;diff=4845</id>
		<title>Diskussion:Aktuelles PHP mit phpenv</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Diskussion:Aktuelles_PHP_mit_phpenv&amp;diff=4845"/>
		<updated>2019-03-24T13:18:13Z</updated>

		<summary type="html">&lt;p&gt;Cgl00: Absatz zu selbstverantwortlichen Aktivitäten bzgl. Sicherheitsupdates etc. ergänzt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dieser Wikiseite fehlen eingangs Informationen über die Rahmenbedingungen, denn wenn man den Befehl &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;phpenv install -l&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
aus dem 2. Codeblock eingibt, OHNE dass man die Befehlsfolge aus dem 1. Codeblock abgesetzt hat, dann erhält man diesen Fehler:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-bash: phpenv: command not found&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Konkret fehlt mindestens ein Hinweis, dass oder ob man die Einzel-Codeteile der Wikiseite nur sequentiell hintereinanderweg ausführen kann und nicht etwa isoliert einen Befehl herausnehmen kann. Es wird m.E. nicht klar, dass der Befehl &#039;&#039;&#039;phpenv&#039;&#039;&#039; nicht automatisch bereits systemweit verfügbar ist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gegebenenfalls fehlt ergänzend zum Verständnis:&lt;br /&gt;
- Als welche Art User muss man eingeloggt sein?&lt;br /&gt;
- In welchem Acount muss man sich befinden?&lt;br /&gt;
- Kann man den Befehl OOTB überall absetzen oder muss man vorher noch etwas zentral einstellen?&lt;br /&gt;
- Muss der Befehl in einem (welchen?) speziellen Pfad abgesetzt werden?&lt;br /&gt;
- Gilt die Anleitung und die genannten Befehle nur bei eigenem Webserver oder auch im Shared Hosting?&lt;br /&gt;
&lt;br /&gt;
Vielleicht ist es hilfreich in allen Anleitungen ein bestimmtes Schema zu etablieren - etwa einen Block &amp;quot;Rahmenbedingungen und Voraussetzungen&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Durch die eigene PHP-Version hat man selbst sicher auch zusätzliche Verantwortung bzw. Aktivitäten, die man nun im Gegensatz zur zentral von HS verwanteten PHP-Installation selbst durchführen muss.&lt;br /&gt;
z.B. auf sicherheitskritische Updates (Wie bekommt man diese mit? Wo findet man sie?) prüfen und diese einspielen (Wie geht das genau? Sind Nacharbeiten nach so einem Update an anderen Stellen erforderlich?)&lt;br /&gt;
&lt;br /&gt;
=&amp;gt; Hier sollte ein Absatz zu den selbstverantwortlichen Aktivitäten auf der Seite ergänzt werden&lt;/div&gt;</summary>
		<author><name>Cgl00</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Diskussion:Aktuelles_PHP_mit_phpenv&amp;diff=4844</id>
		<title>Diskussion:Aktuelles PHP mit phpenv</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Diskussion:Aktuelles_PHP_mit_phpenv&amp;diff=4844"/>
		<updated>2019-03-24T10:23:42Z</updated>

		<summary type="html">&lt;p&gt;Cgl00: Verfeinerung des Feedbacks zur Verbesserung der Seite&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dieser Wikiseite fehlen eingangs Informationen über die Rahmenbedingungen, denn wenn man den Befehl &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;phpenv install -l&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
aus dem 2. Codeblock eingibt, OHNE dass man die Befehlsfolge aus dem 1. Codeblock abgesetzt hat, dann erhält man diesen Fehler:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;-bash: phpenv: command not found&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Konkret fehlt mindestens ein Hinweis, dass oder ob man die Einzel-Codeteile der Wikiseite nur sequentiell hintereinanderweg ausführen kann und nicht etwa isoliert einen Befehl herausnehmen kann. Es wird m.E. nicht klar, dass der Befehl &#039;&#039;&#039;phpenv&#039;&#039;&#039; nicht automatisch bereits systemweit verfügbar ist.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gegebenenfalls fehlt ergänzend zum Verständnis:&lt;br /&gt;
- Als welche Art User muss man eingeloggt sein?&lt;br /&gt;
- In welchem Acount muss man sich befinden?&lt;br /&gt;
- Kann man den Befehl OOTB überall absetzen oder muss man vorher noch etwas zentral einstellen?&lt;br /&gt;
- Muss der Befehl in einem (welchen?) speziellen Pfad abgesetzt werden?&lt;br /&gt;
- Gilt die Anleitung und die genannten Befehle nur bei eigenem Webserver oder auch im Shared Hosting?&lt;br /&gt;
&lt;br /&gt;
Vielleicht ist es hilfreich in allen Anleitungen ein bestimmtes Schema zu etablieren - etwa einen Block &amp;quot;Rahmenbedingungen und Voraussetzungen&amp;quot;&lt;/div&gt;</summary>
		<author><name>Cgl00</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Diskussion:Aktuelles_PHP_mit_phpenv&amp;diff=4843</id>
		<title>Diskussion:Aktuelles PHP mit phpenv</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Diskussion:Aktuelles_PHP_mit_phpenv&amp;diff=4843"/>
		<updated>2019-03-24T10:18:43Z</updated>

		<summary type="html">&lt;p&gt;Cgl00: Liste fehlender Informationen&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dieser Wikiseite fehlen eingangs Informationen über die Rahmenbedingungen, denn wenn man den Befehl &lt;br /&gt;
&lt;br /&gt;
phpenv install -l&lt;br /&gt;
&lt;br /&gt;
eingibt, dann erhält man diesen Fehler:&lt;br /&gt;
&lt;br /&gt;
-bash: phpenv: command not found&lt;br /&gt;
&lt;br /&gt;
Konkret fehlt vermutlich:&lt;br /&gt;
- Als welche Art User muss man eingeloggt sein?&lt;br /&gt;
- In welchem Acount muss man sich befinden?&lt;br /&gt;
- Kann man den Befehl OOTB überall absetzen oder muss man vorher noch etwas zentral einstellen?&lt;br /&gt;
- Muss der Befehl in einem (welchen?) speziellen Pfad abgesetzt werden?&lt;br /&gt;
- Gilt die Anleitung und die genannten Befehle nur bei eigenem Webserver oder auch im Shared Hosting?&lt;/div&gt;</summary>
		<author><name>Cgl00</name></author>
	</entry>
	<entry>
		<id>https://wiki.hostsharing.net/index.php?title=Tomcat_Installieren&amp;diff=3602</id>
		<title>Tomcat Installieren</title>
		<link rel="alternate" type="text/html" href="https://wiki.hostsharing.net/index.php?title=Tomcat_Installieren&amp;diff=3602"/>
		<updated>2013-06-24T18:19:48Z</updated>

		<summary type="html">&lt;p&gt;Cgl00: /* Installation */ Tomcat-Version angepasst&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Apache Tomcat installieren&lt;br /&gt;
&lt;br /&gt;
== Allgemein ==&lt;br /&gt;
&lt;br /&gt;
[http://tomcat.apache.org/ Apache Tomcat] ist ein Webserver (HTTP-Server), der in der Programmiersprache Java entwickelt ist.&lt;br /&gt;
Er dient in erster Linie dazu, dynamische Web-Anwendungen zu betreiben, die ebenfalls in Java programmiert sind.&lt;br /&gt;
Basis-Technologien sind [http://de.wikipedia.org/wiki/Servlet Java-Servlets] und [http://de.wikipedia.org/wiki/JSP Java Server Pages (JSP)].&lt;br /&gt;
&lt;br /&gt;
== Spezielle Installation bei Hostsharing ==&lt;br /&gt;
&lt;br /&gt;
In jedem dynamischen Webhosting-Paket der Hostsharing eG können einer (oder mehrere) Tomcat-Webserver betrieben werden.&lt;br /&gt;
&lt;br /&gt;
Dazu muss die die kostenpflichtige Option [https://www.hostsharing.net/produkte/web-pakete &amp;quot;Betrieb eines eigenen Serverdienstes&amp;quot;] gebucht werden.&lt;br /&gt;
&lt;br /&gt;
Diese Anleitung dokumentiert die Installation des Apache Tomcat Servers als Paket-Admin in einem WEB-Paket bei Hostsharing. (Nicht SW-Paket)&lt;br /&gt;
Mit der Einrichtung der Option &amp;quot;eigener Serverdienst&amp;quot; wird für das Paket eine oder mehrere IP-Ports reserviert, an die der eigene Daemon (also der Tomcat-Server) auf der paketeigenen IP-Adresse gebunden wird.&lt;br /&gt;
&lt;br /&gt;
== Installation == &lt;br /&gt;
&lt;br /&gt;
Die Tomcat-Distribution kann von den Apache-Servern heruntergeladen werden. Wir empfehlen die Installation des Tomcats im Paket, für die Tomcat-Software wird nur ca. 8 MB Speicherplatz benötigt.&lt;br /&gt;
&lt;br /&gt;
Zur Zeit ist die Version 7.0.41 aktuell (Juni 2013).&lt;br /&gt;
&lt;br /&gt;
Die Software wird heruntergeladen und entpackt. Das Installationsverzeichnis wird in &amp;quot;tomcat7&amp;quot; umbenannt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /home/pacs/xyz00&lt;br /&gt;
wget http://apache.mirror.iphh.net/tomcat/tomcat-7/v7.0.41/bin/apache-tomcat-7.0.41.tar.gz&lt;br /&gt;
tar xzf apache-tomcat-7.0.41.tar.gz&lt;br /&gt;
mv apache-tomcat-7.0.41 tomcat7&lt;br /&gt;
rm apache-tomcat-7.0.41.tar.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In der Hauptsache muss die Konfigurationsdatei &amp;quot;server.xml&amp;quot; im Verzeichnis &amp;quot;~/tomcat7/conf/&amp;quot; angepasst werden.&lt;br /&gt;
&lt;br /&gt;
Beispiel für eine minimale &amp;quot;server.xml&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&#039;1.0&#039; encoding=&#039;utf-8&#039;?&amp;gt;&lt;br /&gt;
&amp;lt;Server port=&amp;quot;-1&amp;quot; shutdown=&amp;quot;SHUTDOWN&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;Listener className=&amp;quot;org.apache.catalina.core.JasperListener&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;Listener className=&amp;quot;org.apache.catalina.core.JreMemoryLeakPreventionListener&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;Listener className=&amp;quot;org.apache.catalina.mbeans.GlobalResourcesLifecycleListener&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;Listener className=&amp;quot;org.apache.catalina.core.ThreadLocalLeakPreventionListener&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;GlobalNamingResources&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;Resource name=&amp;quot;UserDatabase&amp;quot; auth=&amp;quot;Container&amp;quot;&lt;br /&gt;
              type=&amp;quot;org.apache.catalina.UserDatabase&amp;quot;&lt;br /&gt;
              description=&amp;quot;User database that can be updated and saved&amp;quot;&lt;br /&gt;
              factory=&amp;quot;org.apache.catalina.users.MemoryUserDatabaseFactory&amp;quot;&lt;br /&gt;
              pathname=&amp;quot;conf/tomcat-users.xml&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;/GlobalNamingResources&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;Service name=&amp;quot;Catalina&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;Connector &lt;br /&gt;
           address=&amp;quot;xyz00.hostsharing.net&amp;quot; port=&amp;quot;31313&amp;quot; &lt;br /&gt;
           protocol=&amp;quot;AJP/1.3&amp;quot; redirectPort=&amp;quot;443&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;Engine name=&amp;quot;Catalina&amp;quot; defaultHost=&amp;quot;xyz00.hostsharing.net&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;Realm className=&amp;quot;org.apache.catalina.realm.LockOutRealm&amp;quot;&amp;gt;&lt;br /&gt;
        &amp;lt;Realm className=&amp;quot;org.apache.catalina.realm.UserDatabaseRealm&amp;quot;&lt;br /&gt;
               resourceName=&amp;quot;UserDatabase&amp;quot;/&amp;gt;&lt;br /&gt;
      &amp;lt;/Realm&amp;gt;&lt;br /&gt;
&lt;br /&gt;
      &amp;lt;Host name=&amp;quot;xyz00.hostsharing.net&amp;quot; &lt;br /&gt;
              appBase=&amp;quot;../webapps/default&amp;quot; &lt;br /&gt;
              unpackWARs=&amp;quot;true&amp;quot; autoDeploy=&amp;quot;true&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;/Host&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    &amp;lt;/Engine&amp;gt;&lt;br /&gt;
  &amp;lt;/Service&amp;gt;&lt;br /&gt;
&amp;lt;/Server&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Angepasst werden müssen:&lt;br /&gt;
* der Paketname (im Beispiel xyz00) und&lt;br /&gt;
* der IP-Port (im Beispiel 31313)&lt;br /&gt;
&lt;br /&gt;
== Deployment einer Anwendung ==&lt;br /&gt;
&lt;br /&gt;
Im der Beispiel-Konfiguration wurde das Verzeichnis &amp;quot;~/webapps/default&amp;quot; für die Anwendungen konfiguriert.&lt;br /&gt;
Wir legen dieses Verzeichnis an und kopieren eine Beispielanwendung hinein:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /home/pacs/xyz00&lt;br /&gt;
mkdir webapps&lt;br /&gt;
mkdir webapps/default&lt;br /&gt;
cp -a tomcat7/webapps/examples webapps/default/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nun können wir die HTTP-Requests, die an eine Domain im Paket gesendet werden, an den Tomcat weiterleiten.&lt;br /&gt;
Das funktioniert über eine &amp;quot;.htaccess&amp;quot;-Datei, zum Beispiel im Verzeichnis &amp;quot;~/doms/example.org/htdocs&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
RewriteEngine On&lt;br /&gt;
RewriteBase /&lt;br /&gt;
RewriteCond %{REQUEST_FILENAME} !-f&lt;br /&gt;
RewriteCond %{REQUEST_FILENAME} !-l&lt;br /&gt;
RewriteRule ^(.*) ajp://xyz00.hostsharing.net:31313/$1 [proxy,last]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Paketname und Port müssen wieder angepasst werden!&lt;br /&gt;
&lt;br /&gt;
Dann können wir unsere Tomcat-Examples unter der URL &amp;quot;http://examples.org/examples/&amp;quot; erreichen.&lt;br /&gt;
&lt;br /&gt;
== Start des Tomcat Servers ==&lt;br /&gt;
&lt;br /&gt;
Der Tomcat kann über die Skripte in &amp;quot;~/tomcat7/bin/&amp;quot; gestartet und gestoppt werden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
export JAVA_HOME=/opt/java/current60&lt;br /&gt;
cd /home/pacs/xyz00/tomcat7&lt;br /&gt;
./bin/catalina.sh start&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Log-Ausgaben des Servers sind in &amp;quot;~/tomcat7/logs/catalina.out&amp;quot; zu finden.&lt;br /&gt;
&lt;br /&gt;
Damit der Tomcat bei einem Reboot der Hostsharing-Server automatisch gestartet wird,&lt;br /&gt;
kann &amp;quot;monit&amp;quot; als einfaches Überwachungswerkzeug genutzt werden.&lt;br /&gt;
Ein Anleitung dazu gibt es in diesem Wiki: [[Monit_installieren]] Die Anleitung bezieht sich auf einen eigenen &lt;br /&gt;
Apache-Webserver und muss entsprechend für Tomcat adaptiert werden.&lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
&lt;br /&gt;
*[http://tomcat.apache.org/ Apache Tomcat Homepage (Englisch)]&lt;br /&gt;
*[http://tomcat.apache.org/tomcat-7.0-doc/index.html Apache Tomcat Dokumentation (Version 5.*, Englisch)]&lt;br /&gt;
*[http://wiki.apache.org/tomcat/FrontPage Apache Tomcat Wiki (Englisch)]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[Kategorie:HSDoku]]&lt;br /&gt;
[[Kategorie:Installationsanleitungen]]&lt;br /&gt;
[[Kategorie:Software]]&lt;br /&gt;
[[Kategorie:Eigene Daemons]]&lt;/div&gt;</summary>
		<author><name>Cgl00</name></author>
	</entry>
</feed>