2 votes

Comment activer les fonctionnalités de PHP sans recompilation

Je souhaite utiliser les fonctions de sémaphore. Les instructions d'installation indiquent que

La prise en charge de ces fonctions n'est pas activée par défaut. Pour activer le support des sémaphores System V, compilez PHP avec l'option --enable-sysvsem . Pour activer le support de la mémoire partagée du System V, compilez PHP avec l'option --enable-sysvshm . Pour activer le support des messages du Système V, compilez PHP avec l'option --enable-sysvmsg .

Mais j'utilise XAMPP pour Linux. Est-ce que cela signifie qu'il m'est impossible d'utiliser les fonctions de sémaphore ? J'aimerais aussi savoir exactement pourquoi il faut recompiler tout PHP au lieu, par exemple, de modifier un paramètre du php.ini ou d'ajouter un nouveau module.

1voto

leewz Points 111

Vous devrez probablement recompiler. A moins que vous ne trouviez un plugin, mais quelque chose qui s'appelle System V Shared memory, je suppose que ce n'est pas un plugin :(

En fait, une recherche rapide sur Google a permis de trouver ceci http://www.php.net/manual/en/sem.installation.php donc non, désolé :(

1voto

HrMartin Points 21

Mais j'utilise XAMPP pour Linux. Cela signifie-t-il qu'il m'est impossible d'utiliser les fonctions de sémaphore ?

Non, pas du tout, il vous suffit d'obtenir une version de XAMPP qui dispose de l'extension. Vous pouvez également compiler PHP vous-même.

J'aimerais aussi savoir exactement pourquoi il faut recompiler tout PHP au lieu, par exemple, de modifier un paramètre de php.ini ou d'ajouter un nouveau module.

Parce que les sources des modules font partie des sources de PHP. Vous compilez alors tout dans le binaire PHP et non dans un fichier de bibliothèque partagée. C'est juste la conception du module. Pour modifier votre php.ini comme vous le souhaitez, vous aurez besoin d'un fichier de bibliothèque externe, voir la page PHP ext répertoire.

0voto

lovesh Points 183

Si vous ne pouvez pas activer une option, regardez votre fichier de configuration (dans ce cas php.conf ou php.ini sur Windows). cela vous aidera à voir l'option si elle est installée. si elle n'est pas installée, obtenez une version de XAMPP avec cette fonctionnalité installée ou vous devez recompiler.

0voto

Melanie McCabe Points 111

A moins que vous n'utilisiez un binaire précompilé pour votre système, PHP compile tout ce que vous spécifiez pour votre système. Par exemple, si vous avez besoin du support de MySQL mais pas de MSSQL pour les bases de données, PHP ne compilera pas les bibliothèques MSSQL requises pour ce type de connexion. Vous pouvez compiler PHP avec toutes les options pour avoir toutes les bibliothèques, mais vous n'aurez généralement pas besoin de toutes.

En bref, le système ne dispose pas de la bibliothèque compilée nécessaire au chargement de PHP.

La nécessité de recompiler dépend de la possibilité de trouver des binaires précompilés pour votre système. Je ne suis pas sûr de XAMPP pour linux.

ServerFault du même type de question :
Comment activer --enable-dom sans recompiler PHP ?

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X