Comment installer PHP pthreads extension sur Ubuntu?
Je voudrais installer la "pthreads' extension PHP sur Ubuntu. J'utilise Ubuntu 12.04.1 LTS. Et je peux mettre à jour si nécessaire. Je ne veux vraiment pas à compiler quoi que ce soit à partir de la source. Par exemple recompiler PHP à partir des sources sonne comme une idée horrible pour moi.
À mon avis, la meilleure option est d'installer cette extension avec aptitude
de commande. Par exemple, comme aptitude install php5-mysql
. Une autre bonne idée est d'utiliser pecl pecl install pthreads
. Mais ne fonctionne pas pour moi à cause de l'erreur suivante:
la vérification de la vérification de ZTS... configure: error: pthreads nécessite ZTS, s'il vous plaît re-compiler PHP avec le ZTS activé
Laissez-moi vous expliquer pourquoi je n'aime pas l'idée de recompiler PHP à partir des sources:
- Je suppose que je devrais désinstaller original de PHP paquet, et toutes les dépendances. Parce que si je le compile plus de la norme en PHP alors tous les packages de mise à jour serait de remplacer mes modifications. Et oui, une autre option est de garder PHP de mise à jour. De toute façon, ce qui introduit un certain travail supplémentaire et rend l'installation plus compliquée. Nous travaillons dans la distribution d'équipe. Et je ne veux pas que d'autres gens de faire face à cette complexité de l'installation sur les serveurs de production.
- Je veux installer les mises à jour sur les serveurs. Et je ne veux pas recompiler PHP en raison de correctifs de sécurité etc.
- Je ne veux pas compiler quoi que ce soit sur les serveurs de production et de le faire de nombreuses fois. Je dois construire mon propre paquets et les mettre à jour avec de nouvelles versions, etc. Désolé, mais je ne suis pas assez intelligent pour le faire. Peut-être dans 2 ou 3 ans, mais pas maintenant. Parce qu'il y a beaucoup de choses à garder à l'esprit ici. Par exemple, pour remplacer la norme paquet PHP avec package personnalisé tout en satisfaisant toutes les dépendances.
Quelques références:
- Configurer dynamiquement en PHP pour la Sécurité des Threads --enable-responsable-zts, ou utiliser YUM pour installer les pThreads?
- Comment utiliser les Pthreads extension PHP (sous Ubuntu) - Certains parle de ce que je vais faire ici.
- Bâtiment pthreads
Cet article semble être vieux et ne pas réelle. Je vais le garder pour référence seulement. Et je suppose qu'il doit être lu comme "PHP n'était pas thread-safe il y a 3 ans'.
Suis d'accord avec @BartFriederichs, si vous en quelque sorte réussi à le faire , s'il vous plaît dites-lui combien.
merci pour le commentaire. Je suis d'accord que ce n'est pas vraiment difficile. Le truc, c'est comment faire pour l'installer sur plusieurs serveurs de production. Parfaitement je dois créer mon propre paquet, de le mettre dans ma propre distribution et de l'installer sur les serveurs avec
aptitude
de ma distribution. Mais je ne fais pas cela pour driver MySQL, parce que c'est déjà fait. Et je veux croire, je ne suis pas la seule personne à l'aide de pthreads et le même programme d'installation doit être fait pour pthreads.je vous remercie. Je n'ai pas perdu mon espoir.
Si yo ont plusieurs serveurs, vous pouvez simplement copier le
.so
fichier. Ou choisir une distro que les paquets pour vous (je ne sais pas si ils existent).
OriginalL'auteur Victor Smirnov | 2013-04-03
Vous devez vous connecter pour publier un commentaire.
ZTS: [Z]fin [T]hread [S]de sécurité.
ZTS est un moment de la compilation option qui ne peut pas être activé lors de l'exécution. Il permet à l'interprète PHP, qui généralement s'exécute dans un thread unique, pour être exécuté dans de nombreux, chacun avec leur propre cas isolé de l'interprète.
La seule option pour vous semble être une nouvelle en construire, puis à l'aide de paquet de construire des outils pour votre distribution.
Je ne suis pas en mesure de vous conseiller sur la création d'un deb directement, cependant, la création d'un rpm est assez trivial, https://github.com/krakjoe/spex il y a un point de départ pour cela, vous pouvez alors utiliser alien pour tourner un RPM en deb si vous n'êtes pas en mesure de savoir comment créer des paquets deb directement.
Bâtiment à partir de la source va être inévitable, sauf si vous pouvez trouver quelques référentiel avec un thread-safe version de PHP, avec un environnement complet de compilation. À cette fin, les informations http://pthreads.org/building peut être utiliser pour vous. Il n'est pas vraiment difficile de compilation de PHP, ni prendre de nombreuses heures, sur du matériel moderne, vous pouvez avoir un construire en moins d'une minute. Vous pouvez et devriez profiter de l'occasion pour couper dans le gras de votre installation.
Sur une note de côté, l'article de référence sur le PHP n'étant pas thread-safe est à partir de 2008, il est tout à fait faux. Le noyau est thread-safe, il y a quelques extensions qui sont intrinsèquement dangereux ( non abstraite mal, mais fondamentalement inadaptées ).
Lien rompu .. s'il vous Plaît corriger ...
Quelle est la différence entre ZTS et le thread-safe binaires que vous pouvez télécharger quelque chose, comme ici: windows.php.net/download
Salut @Joe, le bâtiment de lien est toujours en panne. J'avais éditer votre post directement, mais ne peut pas trouver le lien qui a été prévu.
Debian et Ubuntu pouvez installer
.rpm
packages à l'aide dedpkg -i packages.rpm
.OriginalL'auteur Joe Watkins
Il semble, Ubuntu n'a pas un package pour le thread-safe PHP dans les dépôts officiels.
Pthreads extension nécessite ZTS. Ainsi, vous avez deux options:
J'aimerais compiler et de les emballer moi-même à l'aide de "checkintsall" de l'utilitaire. Ainsi, Apt ont la capacité de garder la trace de la version de PHP. Je voudrais également demander Canonique pour un paquet de ZTS PHP.
Bonne remarque sur checkinstall. Cela aidera à garder maintenable paquet de cache. Avec checkinstall il est également possible de mettre en place une version correspondante, car il peut y avoir des problèmes ajout de la deb pour les paquets installés. Mieux vérifier avec
apt-cache show <collision-packages-during-install>
pour obtenir la version requise ou juste l'emballer (checkinstall) avec vos systèmes versionapt-cache show php5 | grep Version
.OriginalL'auteur Ruslan Osmanov