Wie installiert man PHP Pthreads Erweiterung auf Ubuntu? [geschlossen]

8

Ich möchte die 'pthreads' PHP-Erweiterung unter Ubuntu installieren. Ich benutze Ubuntu 12.04.1 LTS. Und ich kann bei Bedarf upgraden. Ich möchte wirklich nichts aus der Quelle kompilieren. Zum Beispiel rekompilieren PHP aus der Quelle klingt wie eine schreckliche Idee für mich.

Aus meiner Sicht ist es die beste Option, diese Erweiterung mit dem Befehl aptitude zu installieren. Zum Beispiel wie aptitude install php5-mysql . Eine weitere gute Idee ist es, pecl pecl install pthreads zu verwenden. Aber funktioniert nicht für mich wegen des folgenden Fehlers:

  

Überprüfung auf ZTS überprüfen ... configure: error: pthreads benötigt ZTS, bitte kompilieren Sie PHP mit ZTS aktiviert

Lassen Sie mich erklären, warum mir die Idee, PHP aus der Quelle zu kompilieren, nicht gefällt:

  • Ich denke, ich sollte das ursprüngliche PHP-Paket dann und alle Abhängigkeiten deinstallieren. Weil, wenn ich es über Standard-PHP kompiliere, würde jedes Paketupdate meine Änderungen überschreiben. Und ja, eine andere Möglichkeit besteht darin, PHP von der Aktualisierung abzuhalten. Wie auch immer, das bringt etwas zusätzliche Arbeit und macht das Setup komplizierter. Wir arbeiten im verteilten Team. Und ich möchte nicht, dass andere Leute mit diesem komplizierten Setup auf Produktionsservern umgehen.
  • Ich möchte Updates auf Servern installieren. Und ich möchte PHP wegen Sicherheitsfixes usw. nicht neu kompilieren.
  • Ich möchte auf Produktionsservern nichts kompilieren und dies viele Male tun. Dann sollte ich meine eigenen Pakete erstellen und sie mit neuen Versionen usw. aktualisieren. Entschuldigung, aber ich bin nicht schlau genug, dies zu tun. Kann in 2-3 Jahren aber nicht jetzt sein. Weil es hier viele Dinge zu beachten gibt. Zum Beispiel, wie man das Standard-PHP-Paket durch ein benutzerdefiniertes Paket ersetzt und dabei alle Abhängigkeiten erfüllt.

Einige Referenzen:

Dieser Artikel scheint alt und nicht aktuell zu sein. Ich behalte es nur als Referenz. Und ich denke, es sollte gelesen werden als "PHP war nicht Thread sicher vor 3 Jahren".

Victor Smirnov 03.04.2013, 08:55
quelle

2 Antworten

9

ZTS: [Z] beenden [T] schnappen [S] Sicherheit.

ZTS ist eine Kompilierzeitoption, die zur Laufzeit nicht aktiviert werden kann. Es ermöglicht, dass der PHP-Interpreter, der normalerweise in einem einzigen Thread ausgeführt wird, in vielen ausgeführt werden kann, jeder mit einer eigenen isolierten Instanz des Interpreters.

Die einzige Option für Sie scheint ein neuer Build zu sein, und dann die Paketerstellungstools für Ihre Distribution zu verwenden.

Ich bin nicht in der Lage, direkt über die Erstellung einer Deb zu beraten, aber das Erstellen einer RPM ist ziemlich trivial, Ссылка Es gibt einen Startplatz dafür, Sie können dann Alien verwenden, um ein RPM in ein Deb zu verwandeln, wenn Sie nicht in der Lage sind, herauszufinden, wie man Deb-Pakete direkt erstellt.

Das Erstellen aus der Quelle wird unausweichlich sein, es sei denn, Sie können ein Repository mit einem Thread-sicheren Build von PHP mit einer vollständigen Build-Umgebung finden. Zu diesem Zweck kann die Information Ссылка für Sie von Nutzen sein. Es ist wirklich nicht so schwer, PHP zu erstellen, und es dauert auch nicht viele Stunden. Auf moderner Hardware können Sie in weniger als einer Minute ein Build erstellen. Sie können und sollten die Gelegenheit nutzen, um das Fett von Ihrer Installation zu trimmen.

Nebenbei bemerkt, der Artikel, den Sie über PHP als nicht threadsicher referenzieren, stammt aus dem Jahr 2008, es ist sehr falsch. Der Kern ist Thread-sicher, es gibt ein paar Erweiterungen, die von Natur aus unsicher sind (nicht abstrahiert schlecht, aber grundsätzlich ungeeignet).

    
Joe Watkins 03.04.2013, 16:51
quelle
6

Ubuntu hat anscheinend kein Paket für das thread-sichere PHP in den offiziellen Repositories. PThreads-Erweiterung erfordert ZTS. Somit haben Sie zwei Möglichkeiten:

  1. kompilieren Sie es selbst:
  2. finde irgendwo ein .deb-Paket, z.B. Repositories der anderen Debian-ähnlichen Systeme.

Ich kompiliere und verpacke es selbst mit dem Dienstprogramm "checkintsall". Somit wird Apt die Möglichkeit haben, die PHP-Version zu verfolgen. Ich würde Canonical auch um ein Paket für ZTS PHP bitten.

    
Ruslan Osmanov 03.04.2013 13:00
quelle

Tags und Links