tag:forum.selfhtml.org,2005:/self php7 im Apache aktivieren – SELFHTML-Forum 2019-07-05T18:39:17Z https://forum.selfhtml.org/self/2019/jul/05/php7-im-apache-aktivieren/1752019#m1752019 Klaus1 2019-07-05T11:22:02Z 2019-07-05T11:22:57Z php7 im Apache aktivieren <p>Hallo,</p> <p>ich versuche verzweifelt im Apache PHP7 zu aktivieren. Vorher war PHP5 installiert und aktiviert. PHP5 habe ich zunöchst mittels</p> <pre><code class="block">zypper remove php5 </code></pre> <p>heruntergeworfen.</p> <p>Danach PHP7 entsprechend mit installiert:</p> <pre><code class="block">zypper in php7 php7-mysql apache2-mod_php7 </code></pre> <p>und aktiviert:</p> <pre><code class="block">a2enmod php7 service apache2 restart </code></pre> <p>Im conf.d-Verzeichnis wurde der SetHandler gesetzt:</p> <pre><code class="block"><IfModule mod_php7.c> <FilesMatch \.php$> SetHandler application/x-httpd-php </FilesMatch> DirectoryIndex index.php </IfModule> </code></pre> <p>Die conf-Dateien werden auch in der default-server.conf geladen</p> <pre><code class="block">IncludeOptional /etc/apache2/conf.d/*.conf </code></pre> <p>Das php-Modul wurde geladen:</p> <pre><code class="block">apachectl -t -D DUMP_MODULES ... php7_module (shared) ... </code></pre> <p>Dennoch werden mir php-Dateien zum Download angeboten, anstatt dass die vom PHP interpretiert werden.</p> <p>Hat noch jemand eine Idee, was ich falsch gemacht oder vergessen haben könnte?</p> <p>LG Klaus</p> https://forum.selfhtml.org/self/2019/jul/05/php7-im-apache-aktivieren/1752020#m1752020 Indianerversteher 2019-07-05T11:41:19Z 2019-07-05T11:50:37Z php7 im Apache aktivieren <blockquote> <p>Hat noch jemand eine Idee, was ich falsch gemacht oder vergessen haben könnte?</p> </blockquote> <p>Lösch mal den Cache des Browsers und versuch es nochmal. Alternativ liefert <code>wget -d --delete-after URL</code> Dir die wirklich abgerufenen und gesendeten Header. Browser sind für solche Tests 2. Wahl, es sei denn man hat die Entwicklerwerkzeuge (Hier: Netzwerkanalyse) aktiviert und in diesen den Cache deaktiviert.</p> <blockquote> <p>Dennoch werden mir php-Dateien zum Download angeboten, anstatt dass die vom PHP interpretiert werden.</p> </blockquote> <p>Es kann sogar sein, dass die PHP-Skripte zwar serverseitig verarbeitet werden, dass aber aus anderen Gründen ein falscher Header für den Content-Typ gesetzt wird. Sieh Dir das Ergebnis genau an.</p> https://forum.selfhtml.org/self/2019/jul/05/php7-im-apache-aktivieren/1752022#m1752022 TS ts-self@online.de https://bitworks.de 2019-07-05T12:04:24Z 2019-07-05T12:04:24Z php7 im Apache aktivieren <p>Hello,</p> <p>••• und Server neu gestartet?</p> <p>Glück Auf<br> Tom vom Berg</p> <div class="signature">-- <br> Es gibt nichts Gutes, außer man tut es!<br> Das Leben selbst ist der Sinn. </div> https://forum.selfhtml.org/self/2019/jul/05/php7-im-apache-aktivieren/1752030#m1752030 Klaus1 2019-07-05T12:49:14Z 2019-07-05T12:49:14Z php7 im Apache aktivieren <blockquote> <p>Lösch mal den Cache des Browsers und versuch es nochmal.</p> </blockquote> <p>Das sollte theoretisch mit einem Shift-Reload getan sein oder?</p> <blockquote> <p>Alternativ liefert <code>wget -d --delete-after URL</code> Dir die wirklich abgerufenen und gesendeten Header.</p> </blockquote> <p>Der wget liefert:</p> <pre><code class="block">---request begin--- GET /page/index.php HTTP/1.1 User-Agent: Wget/1.14 (linux-gnu) Accept: */* Host: mydomain.net Connection: Keep-Alive ---request end--- HTTP request sent, awaiting response... ---response begin--- HTTP/1.1 200 OK Date: Fri, 05 Jul 2019 12:43:29 GMT Server: Apache X-Powered-By: PHP/7.0.7 Content-Length: 7266 Keep-Alive: timeout=15, max=100 Connection: Keep-Alive Content-Type: text/html; charset=UTF-8 ---response end--- </code></pre> <p>Ich würde vermuten, dass es nicht an den Seiten liegen kann, die ja mit PHP5 noch funktioniert haben. Es sei denn, dass mit PHP7 irgendeine mir unbekannte Restriktion auftritt, die es mit PHP5 noch nicht gab.</p> <p>LG Klaus</p> https://forum.selfhtml.org/self/2019/jul/05/php7-im-apache-aktivieren/1752025#m1752025 Der Martin 2019-07-05T12:22:01Z 2019-07-05T12:22:01Z php7 im Apache aktivieren <p>Hallo Tom,</p> <blockquote> <p>••• und Server neu gestartet?</p> </blockquote> <p>aus dem Anfangsbeitrag:</p> <blockquote> <p>und aktiviert:</p> <pre><code class="block">a2enmod php7 service apache2 restart </code></pre> </blockquote> <p>Beantwortet das deine gutgemeinte Rückfrage?</p> <p>Schönes Wochenende,<br>  Martin</p> <div class="signature">-- <br> Was ist gelb und krumm und flattert im Wind? - Eine Fahnane. </div> https://forum.selfhtml.org/self/2019/jul/05/php7-im-apache-aktivieren/1752029#m1752029 Indianerversteher 2019-07-05T12:45:22Z 2019-07-05T12:45:45Z SuSE? <blockquote> <p>… und Server neu gestartet?</p> </blockquote> <p>Das führt mich zusammen mit dem erwähntem "zypper" zu folgender Rückfrage:</p> <p><strong>SuSE?</strong></p> <p>Ist das noch so, dass in /etc/apache2/httpd.conf etwas von "DO NOT EDIT THIS FILE" steht und demnach /etc/sysconfig/apache2 zu editieren ist (wo auch der Yast rumschreibt) - weil bei einem restart die Konfiguration des Apache aus /etc/sysconfig/apache2 neu erzeugt wird?</p> https://forum.selfhtml.org/self/2019/jul/05/php7-im-apache-aktivieren/1752068#m1752068 TS ts-self@online.de https://bitworks.de 2019-07-05T16:49:45Z 2019-07-05T16:49:45Z php7 im Apache aktivieren <p>Hello Martin,</p> <blockquote> <blockquote> <p>••• und Server neu gestartet?</p> </blockquote> <p>aus dem Anfangsbeitrag:</p> <blockquote> <p>und aktiviert:</p> <pre><code class="block">a2enmod php7 service apache2 restart </code></pre> </blockquote> <p>Beantwortet das deine gutgemeinte Rückfrage?</p> </blockquote> <p>Hatte ich wohl übersehen.</p> <p>Dir auch ein schönes Wochenende,</p> <p>Glück Auf<br> Tom vom Berg</p> <div class="signature">-- <br> Es gibt nichts Gutes, außer man tut es!<br> Das Leben selbst ist der Sinn. </div> https://forum.selfhtml.org/self/2019/jul/05/php7-im-apache-aktivieren/1752033#m1752033 Klaus1 2019-07-05T12:58:14Z 2019-07-05T12:58:14Z SuSE? <blockquote> <p>Ist das noch so, dass in /etc/apache2/httpd.conf etwas von "DO NOT EDIT THIS FILE" steht und demnach /etc/sysconfig/apache2 zu editieren ist (wo auch der Yast rumschreibt) - weil bei einem restart die Konfiguration des Apache aus /etc/sysconfig/apache2 neu erzeugt wird?</p> </blockquote> <p>Hmm, es gibt tatsächlich eine /etc/sysconfig/apache2 Datei. Wenn ich den HTTP-Server über Yast aufrufe, sehe ich auch unter dem Reiter Haupthost, dass IncludeOptional auf /etc/apache2/conf.d/*.conf steht. Unter unter Server-Module ist PHP7 aktiviert.</p> <p>Auch ein kompletter Neustart des Servers hat keine Änderung gebracht.</p> <p>LG Klaus</p> https://forum.selfhtml.org/self/2019/jul/05/php7-im-apache-aktivieren/1752032#m1752032 Indianerversteher 2019-07-05T12:57:38Z 2019-07-05T12:58:55Z php7 im Apache aktivieren <pre><code class="block">X-Powered-By: PHP/7.0.7 Content-Type: text/html; charset=UTF-8 </code></pre> <p>Das sieht, abgesehen vom veraltetem PHP 7.0, sehr gut aus und entspricht genau den Erwartungen.</p> <p>Jetzt baust Du eine test.php:</p> <pre><code class="block language-php"><span class="token tag"><span class="token tag"><span class="token punctuation"><</span>h1</span><span class="token punctuation">></span></span>Dieser Server auf <span class="token php language-php"><span class="token delimiter important"><?=</span><span class="token variable">$_SERVER</span><span class="token punctuation">[</span><span class="token string double-quoted-string">"HOSTNAME"</span><span class="token punctuation">]</span> <span class="token delimiter important">?></span></span>funktioniert mit PHP <span class="token php language-php"><span class="token delimiter important"><?=</span><span class="token function">phpversion</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token delimiter important">?></span></span><span class="token tag"><span class="token tag"><span class="token punctuation"></</span>h1</span><span class="token punctuation">></span></span> </code></pre> <p>und rufst die mal ab.</p> https://forum.selfhtml.org/self/2019/jul/05/php7-im-apache-aktivieren/1752034#m1752034 Der Martin 2019-07-05T12:58:28Z 2019-07-05T12:58:28Z php7 im Apache aktivieren <p>Hallo Klaus,</p> <blockquote> <blockquote> <p>Lösch mal den Cache des Browsers und versuch es nochmal.</p> </blockquote> <p>Das sollte theoretisch mit einem Shift-Reload getan sein oder?</p> </blockquote> <p>eigentlich ja, aber es liegt im Ermessen des Browsers. Verlassen würde ich mich nicht drauf.</p> <blockquote> <pre><code class="block">---response begin--- HTTP/1.1 200 OK Date: Fri, 05 Jul 2019 12:43:29 GMT Server: Apache X-Powered-By: PHP/7.0.7 Content-Length: 7266 Keep-Alive: timeout=15, max=100 Connection: Keep-Alive Content-Type: text/html; charset=UTF-8 ---response end--- </code></pre> </blockquote> <p>Also text/html als Content-Type klingt ja schon mal gesund. Und der X-Powered-By-Header sagt, dass da auch wirklich PHP seine Finger im Spiel hatte. So ganz falsch kann die Serverkonfiguration also nicht sein.<br> Aber welcher Browser bietet dann die empfangene Ressource zum Speichern an?</p> <p>Ciao,<br>  Martin</p> <div class="signature">-- <br> Ein Tag, an dem du nicht wenigstens einmal gelacht hast, ist ein verlorener Tag. </div> https://forum.selfhtml.org/self/2019/jul/05/php7-im-apache-aktivieren/1752035#m1752035 dedlfix 2019-07-05T13:00:01Z 2019-07-05T13:00:01Z php7 im Apache aktivieren <p>Tach!</p> <blockquote> <p>Jetzt baust Du eine test.php:</p> <pre><code class="block"><h1>Dieser Server auf <?=$_SERVER["HOSTNAME"] ?>funktioniert mit PHP <?=phpversion() ?></h1> </code></pre> <p>und rufst die mal ab.</p> </blockquote> <p>Mach es nicht so kompliziert. Einfach nur <code><?php phpinfo();</code></p> <p>dedlfix.</p> https://forum.selfhtml.org/self/2019/jul/05/php7-im-apache-aktivieren/1752040#m1752040 Klaus1 2019-07-05T13:13:56Z 2019-07-05T13:13:56Z php7 im Apache aktivieren <blockquote> <p>Jetzt baust Du eine test.php:</p> <pre><code class="block language-php"><span class="token tag"><span class="token tag"><span class="token punctuation"><</span>h1</span><span class="token punctuation">></span></span>Dieser Server auf <span class="token php language-php"><span class="token delimiter important"><?=</span><span class="token variable">$_SERVER</span><span class="token punctuation">[</span><span class="token string double-quoted-string">"HOSTNAME"</span><span class="token punctuation">]</span> <span class="token delimiter important">?></span></span>funktioniert mit PHP <span class="token php language-php"><span class="token delimiter important"><?=</span><span class="token function">phpversion</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token delimiter important">?></span></span><span class="token tag"><span class="token tag"><span class="token punctuation"></</span>h1</span><span class="token punctuation">></span></span> </code></pre> <p>und rufst die mal ab.</p> </blockquote> <pre><code class="block">---request begin--- GET /test/test.php HTTP/1.1 User-Agent: Wget/1.14 (linux-gnu) Accept: */* Host: mydomain.net Connection: Keep-Alive ---request end--- HTTP request sent, awaiting response... ---response begin--- HTTP/1.1 200 OK Date: Fri, 05 Jul 2019 13:00:31 GMT Server: Apache X-Powered-By: PHP/7.0.7 Content-Length: 54 Keep-Alive: timeout=15, max=100 Connection: Keep-Alive Content-Type: text/html; charset=UTF-8 ---response end--- </code></pre> <p>Hey, diese Datei konnte ich im Browser aufrufen. Einen "Fehler" hab ich dadurch finden können, durch die Neuinstallation von PHP7 sind meine Einstellungen aus der alten php.ini verloren gegangen. Dort hatte ich ein paar Kleinigkeiten eingestellt (insbesondere short_open_tag):</p> <pre><code class="block"> short_open_tag = On max_execution_time = 1200 memory_limit = 512M error_reporting = E_ALL & ~E_NOTICE post_max_size = 16M upload_max_filesize = 32M </code></pre> <p>Nach einem erneuten Restart funktionieren jetzt einige Seiten, bei einigen wird aber noch immer die php-Datei als Download angeboten ???</p> <p>LG Klaus</p> https://forum.selfhtml.org/self/2019/jul/05/php7-im-apache-aktivieren/1752039#m1752039 Indianerversteher 2019-07-05T13:12:48Z 2019-07-05T13:12:48Z SuSE? <p>Das hat sich durch Deine andere Antwort <a href="https://forum.selfhtml.org/self/2019/jul/05/php7-im-apache-aktivieren/1752032#m1752032" rel="noopener noreferrer">als "egal" herausgestellt</a>.</p> https://forum.selfhtml.org/self/2019/jul/05/php7-im-apache-aktivieren/1752036#m1752036 Indianerversteher 2019-07-05T13:01:17Z 2019-07-05T13:04:34Z Browsercache und Systemtests... <blockquote> <p>Aber welcher Browser bietet dann die empfangene Ressource zum Speichern an?</p> </blockquote> <p>Derjenige, der Müll aus vorhergehenden Versuchen zusammen mit der Weisung, bis zu einem fern liegenden Zeitpunkt den Server nicht belästigen, im Cache hat.</p> https://forum.selfhtml.org/self/2019/jul/05/php7-im-apache-aktivieren/1752038#m1752038 Indianerversteher 2019-07-05T13:09:10Z 2019-07-05T13:13:37Z php7 im Apache aktivieren <blockquote> <p>Mach es nicht so kompliziert. Einfach nur <code><?php phpinfo();</code></p> </blockquote> <p><code>phpinfo()</code> empfehle ich für Tests nicht mehr seit ich mitbekommen habe, dass es Hoster gibt, die das allen Erstes in der php.ini sperren - was dann nur für weitere Verwirrung sorgt.</p> <p>Wenn schon, dann <a href="https://code.fastix.org/showFile.php?file=Projekte/PHP%3AReplacement%20f%C3%BCr%20phpinfo%28%29/phpinfo.php" rel="nofollow noopener noreferrer">das</a> hier.</p> https://forum.selfhtml.org/self/2019/jul/05/php7-im-apache-aktivieren/1752042#m1752042 Klaus1 2019-07-05T13:26:26Z 2019-07-05T13:26:26Z Browsercache und Systemtests... <blockquote> <blockquote> <p>Aber welcher Browser bietet dann die empfangene Ressource zum Speichern an?</p> </blockquote> <p>Derjenige, der Müll aus vorhergehenden Versuchen zusammen mit der Weisung, bis zu einem fern liegenden Zeitpunkt den Server nicht belästigen, im Cache hat.</p> </blockquote> <p>Wenn eine Original-php-Datei beim Browser zum Download angeboten wird, bedeutet das meinem Verständnis nach, dass die Datei serverseitig nicht ausgeführt wurde, da sonst nur die Ausgaben der Datei an den Client (=Browser) übertragen wird. Dem Browser ist der Dateityp php unbekannt und daher bietet er den Download an.</p> <p>LG Klaus</p> https://forum.selfhtml.org/self/2019/jul/05/php7-im-apache-aktivieren/1752041#m1752041 Indianerversteher 2019-07-05T13:20:07Z 2019-07-05T13:21:14Z php7 im Apache aktivieren <blockquote> <p>Nach einem erneuten Restart funktionieren jetzt einige Seiten, bei einigen wird aber noch immer die php-Datei als Download angeboten ???</p> </blockquote> <p><strong>Wie schon gesagt:</strong> Lösche den Browser-Cache. (Ich hoffe, Du hast bei irgendwelchen früheren Versuchen nicht auch noch einen Proxy mit Müll gefüttert.)</p> <p><strong>Antwort 2:</strong></p> <p>Prüfe mit</p> <pre><code class="block language-sh"><span class="token assign-left variable">URL</span><span class="token operator">=</span><span class="token string">"http://example.com/or/what/ever"</span><span class="token punctuation">;</span> <span class="token function">wget</span> <span class="token parameter variable">-d</span> <span class="token parameter variable">-O</span> - <span class="token variable">$URL</span> </code></pre> <p>was da gesendet wird.</p> https://forum.selfhtml.org/self/2019/jul/05/php7-im-apache-aktivieren/1752066#m1752066 Indianerversteher 2019-07-05T15:44:43Z 2019-07-05T15:46:25Z max_execution_time = 1200 -- Besser: als Job batchen <pre><code class="block language-ini"><span class="token key attr-name">max_execution_time</span> <span class="token punctuation">=</span> <span class="token value attr-value">1200</span> </code></pre> <p>Das sind 20 Minuten!</p> <p>Ist Dir bewusst, dass auch ein großzügig konfigurierter Apache nur eine begrenzte Anzahl solcher Prozesse bearbeiten kann? Sind alle Kinder vollbeschäftigt kann der Indianer keine neuen Requests mehr annehmen.</p> <p>Zur Vermeidung von DoS-Attacken würde ich eine solche Einstellung vermeiden (ggf. nur für bestimmte, nicht wirklich öffentliche Verzeichnisse setzen -> <code>.user.ini</code>. Oder eben den eigentlichen, langdauernden Prozess mit etwas wie</p> <pre><code class="block language-php"><span class="token variable">$tmpfile</span> <span class="token operator">=</span> <span class="token function">trim</span><span class="token punctuation">(</span><span class="token string backtick-quoted-string">`mktemp`</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token variable">$job</span> <span class="token operator">=</span> <span class="token function">intval</span><span class="token punctuation">(</span><span class="token string backtick-quoted-string">`echo "foo.sh -k bar > $tmpfile" | batch; atq | tail -n1`</span><span class="token punctuation">)</span><span class="token punctuation">;</span> </code></pre> <p>auslagern und schauen wie ich den Nutzer nach Abarbeitung informiere (zb. per mail)</p> <ul> <li>Vorausetzungen: Dazu muss das Paket 'at' installiert sein.</li> <li>Literatur: <a href="https://linux.die.net/man/1/batch" rel="nofollow noopener noreferrer">man batch</a></li> </ul> <pre><code class="block language-ini"><span class="token key attr-name">post_max_size</span> <span class="token punctuation">=</span> <span class="token value attr-value">16M</span> <span class="token key attr-name">upload_max_filesize</span> <span class="token punctuation">=</span> <span class="token value attr-value">32M</span> </code></pre> <p>Ohnehin stellt sich also die Frage, was ein Server ganze 20 Minuten lang mit nur 16 bzw. 32 Megabyte Daten machen soll...</p> https://forum.selfhtml.org/self/2019/jul/05/php7-im-apache-aktivieren/1752067#m1752067 TS ts-self@online.de https://bitworks.de 2019-07-05T16:43:51Z 2019-07-05T16:43:51Z php-Einstellungen <p>Hello,</p> <p>schau dir das <a href="https://www.php.net/manual/de/ini.core.php#ini.post-max-size" rel="nofollow noopener noreferrer">Manual zu <strong>post_max_size</strong></a> nochmal an.</p> <blockquote> <pre><code class="block"> short_open_tag = On max_execution_time = 1200 memory_limit = 512M error_reporting = E_ALL & ~E_NOTICE post_max_size = 16M upload_max_filesize = 32M </code></pre> </blockquote> <p>Das sollte größer sein, als <strong>upload_max_filesize</strong></p> <p>Glück Auf<br> Tom vom Berg</p> <div class="signature">-- <br> Es gibt nichts Gutes, außer man tut es!<br> Das Leben selbst ist der Sinn. </div> https://forum.selfhtml.org/self/2019/jul/05/php7-im-apache-aktivieren/1752044#m1752044 Klaus1 2019-07-05T13:32:14Z 2019-07-05T13:32:14Z php7 im Apache aktivieren <blockquote> <p><strong>Wie schon gesagt:</strong> Lösche den Browser-Cache. (Ich hoffe, Du hast bei irgendwelchen früheren Versuchen nicht auch noch einen Proxy mit Müll gefüttert.)</p> </blockquote> <p>Hmm, nach dem Löschen des Cache (und Neustart des Browsers), bekomme ich tatsächlich keine php-Dateien mehr als Download angeboten.</p> <p>Vielen lieben Dank für die Unterstützung. </p> <p>Dann darf ich mich jetzt damit befassen, was sich alles geändert hat und was alles angepasst werden muss, damit alle Seiten auch wieder unter php7 funktionieren. </p> <p>LG Klaus</p> https://forum.selfhtml.org/self/2019/jul/05/php7-im-apache-aktivieren/1752043#m1752043 Indianerversteher 2019-07-05T13:31:52Z 2019-07-05T13:32:06Z Browsercache und Systemtests... <blockquote> <p>Wenn eine Original-php-Datei beim Browser zum Download angeboten wird,</p> </blockquote> <p>Wenn bei irgendwelchen versuchen eine "Original-php-Datei" zusammen mit dem passenden Content-Type und Anweisungen, das Zeug zu cachen an dem Browser geschickt <strong>wurde</strong>, dann merkt sich das der/mancher Browsercache auch und deshalb fragt der Browser den Server manchmal gar nicht erst nochmal sondern fragt einfach nochmal, wo Du Dir das hinstecken willst.</p> <p>Einfach den Browsercache löschen. Das tut nicht weh!</p> https://forum.selfhtml.org/self/2019/jul/05/php7-im-apache-aktivieren/1752065#m1752065 Der Martin 2019-07-05T15:08:30Z 2019-07-05T15:08:30Z Browsercache und Systemtests... <p>Hallo,</p> <blockquote> <p>Wenn eine Original-php-Datei beim Browser zum Download angeboten wird, bedeutet das meinem Verständnis nach, dass die Datei serverseitig nicht ausgeführt wurde, da sonst nur die Ausgaben der Datei an den Client (=Browser) übertragen wird.</p> </blockquote> <p>korrekt.</p> <blockquote> <p>Dem Browser ist der Dateityp php unbekannt und daher bietet er den Download an.</p> </blockquote> <p>Dem Browser hat der Name egal zu sein; was zählt, ist der Content-Type-Header. Solange der <em>text/html</em> lautet, hat der Browser den Datenmüll als HTML zu interpretieren. Ob der Name der Ressource dabei auf .html, .php oder .daddy endet, hat ihn nicht zu interessieren.</p> <p>Einzig der Internet Explorer war früher berüchtigt dafür, dass er dem Content-Type-Header kaum Beachtung geschenkt hat und stattdessen den Ressourcentyp aus dem Kontext und sogar aus dem Inhalt erraten hat. Dem konnte man ein Dokument mit einem völlig verkorksten Content-Type andrehen - solange irgendwo nah am Anfang ein <em><html</em> vorkam, hat er's stur als HTML gerendert.</p> <p>Ich meine aber, das sei schon lange nicht mehr so.</p> <p>Schönes Wochenende,<br>  Martin</p> <div class="signature">-- <br> Ein Tag, an dem du nicht wenigstens einmal gelacht hast, ist ein verlorener Tag. </div> https://forum.selfhtml.org/self/2019/jul/05/php7-im-apache-aktivieren/1752047#m1752047 dedlfix 2019-07-05T13:40:30Z 2019-07-05T13:40:30Z Browsercache und Systemtests... <p>Tach!</p> <blockquote> <p>Einfach den Browsercache löschen. Das tut nicht weh!</p> </blockquote> <p>Noch besser, wie auch schon erwähnt, die Browsertools öffnen und im Netzwerk-Tab den Cache disablen. Zudem kann man dort auch sehen, ob ein Request aus dem Cache beantwortet wurde oder vom Server kam (also, wenn der Cache nicht disabled ist).</p> <p>dedlfix.</p> https://forum.selfhtml.org/self/2019/jul/05/php7-im-apache-aktivieren/1752046#m1752046 Indianerversteher 2019-07-05T13:39:03Z 2019-07-05T13:39:29Z Migration nach php7 <blockquote> <p>Dann darf ich mich jetzt damit befassen, was sich alles geändert hat und was alles angepasst werden muss, damit alle Seiten auch wieder unter php7 funktionieren.</p> </blockquote> <p><a href="https://php.net/manual/de/migration70.php" rel="noopener noreferrer">So wild ist das nicht</a>.</p> <p>Vieles findet man schnell mit</p> <pre><code class="block language-sh"><span class="token builtin class-name">cd</span> /var/www/wohin-auch-immer <span class="token function">grep</span> <span class="token parameter variable">-R</span> <span class="token string">"Suchbegriff"</span> <span class="token operator">></span> /tmp/liste.txt<span class="token punctuation">;</span> <span class="token function">less</span> /tmp/liste.txt </code></pre> https://forum.selfhtml.org/self/2019/jul/05/php7-im-apache-aktivieren/1752074#m1752074 Indianerversteher 2019-07-05T18:39:17Z 2019-07-05T18:40:02Z (Kleine, aber wirkmächtige Verbesserung beim Durchsuchen mit grep) <pre><code class="block language-sh"><span class="token builtin class-name">cd</span> /var/www/wohin-auch-immer <span class="token function">grep</span> <span class="token parameter variable">-Rn</span> <span class="token string">"Suchbegriff"</span> <span class="token operator">></span> /tmp/liste.txt<span class="token punctuation">;</span> <span class="token function">less</span> /tmp/liste.txt </code></pre> <p>Die Option <code>n</code> sorgt dafür, dass von <code>grep</code> auch die Zeilennummern der Treffer angezeigt werden. mit <code>vi DATEI +123</code> kann man dann die Datei zum Editieren öffnen und direkt zur Zeile (hier 123) springen.</p> https://forum.selfhtml.org/self/2019/jul/05/php7-im-apache-aktivieren/1752048#m1752048 Indianerversteher 2019-07-05T13:47:31Z 2019-07-05T13:47:31Z Browsercache und Systemtests... <blockquote> <p>Noch besser, wie auch schon erwähnt, die Browsertools öffnen und im Netzwerk-Tab den Cache disablen.</p> </blockquote> <p>Dann bietet er nach dem Schließen der Browsertools (womöglich) den alten und falschen Mist aus den früheren Versuchen wieder an…</p> https://forum.selfhtml.org/self/2019/jul/05/php7-im-apache-aktivieren/1752069#m1752069 Indianerversteher 2019-07-05T17:16:41Z 2019-07-05T17:18:41Z Verbessert: Langdauerenden Job unter Linux aus PHP heraus batchen (auslagern) <pre><code class="block language-php"><span class="token php language-php"><span class="token delimiter important"><?php</span> <span class="token variable">$tmpfile</span> <span class="token operator">=</span> <span class="token function">trim</span><span class="token punctuation">(</span><span class="token string backtick-quoted-string">`mktemp`</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token variable">$errFile</span> <span class="token operator">=</span> <span class="token variable">$tmpfile</span> <span class="token operator">.</span> <span class="token string single-quoted-string">'.err'</span><span class="token punctuation">;</span> <span class="token variable">$postFile</span> <span class="token operator">=</span> <span class="token variable">$tmpfile</span> <span class="token operator">.</span> <span class="token string single-quoted-string">'.post'</span><span class="token punctuation">;</span> <span class="token function">file_put_contents</span><span class="token punctuation">(</span> <span class="token variable">$postFile</span><span class="token punctuation">,</span> <span class="token function">serialize</span><span class="token punctuation">(</span> <span class="token variable">$_POST</span> <span class="token punctuation">)</span> <span class="token function">session_start</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token variable">$sessFile</span> <span class="token operator">=</span> <span class="token variable">$tmpfile</span> <span class="token operator">.</span> <span class="token string single-quoted-string">'.sess'</span><span class="token punctuation">;</span> <span class="token function">file_put_contents</span><span class="token punctuation">(</span> <span class="token variable">$sessFile</span><span class="token punctuation">,</span> <span class="token function">serialize</span><span class="token punctuation">(</span> <span class="token variable">$_SESSION</span> <span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token variable">$jobString</span> <span class="token operator">=</span> <span class="token string single-quoted-string">'script.sh'</span><span class="token operator">.</span> <span class="token string single-quoted-string">' '</span> <span class="token operator">.</span> <span class="token variable">$tmpfile</span><span class="token punctuation">;</span> <span class="token variable">$jobNumber</span> <span class="token operator">=</span> <span class="token function">intval</span><span class="token punctuation">(</span><span class="token string backtick-quoted-string">`echo "'$jobString > $tmpfile 2> $errFile'" | batch 2>&1 | tail -n1 | cut -d ' ' -f2`</span><span class="token punctuation">)</span><span class="token punctuation">;</span> <span class="token keyword">echo</span> <span class="token string double-quoted-string">"Job-Nummer: "</span> <span class="token operator">.</span> <span class="token variable">$jobNumber</span> <span class="token operator">.</span> <span class="token string double-quoted-string">"\n"</span><span class="token punctuation">;</span> <span class="token delimiter important">?></span></span> </code></pre> <p>Das ist immer noch ein Beispiel. script.sh bekommt den Name der temporären Datei und kann damit auch die Daten, z.B. $_POST, $_SESSION aus den weiteren temporären Dateien lesen. Das Skript hat dann den Job zu erledigen, den Müll wegzuräumen und dem Benutzer per Mail einen individuellen Link zu einer Ressource mit den Ergebnissen (die stehen dann hoffentlich in $tmpfile und können hoffentlich ausgewertet werden) zu senden.</p> <p>Wer die Angabe machen will wie viele Jobs noch offen sind: Der Linux-Befehl <code>atq</code> liefert eine nette Liste...</p>