C'est beaucoup la question. J'ai PHP 5.2.9 sur Apache et je ne peux pas mettre à jour PHP. Puis-je activer SOAP dans PHP 5.2.9? Le manuel de PHP n'a pas du tout aidé lorsqu'il a déclaré: "Pour activer le support de SOAP, configurez PHP avec --enable-soap." Comment puis-je configurer?
Obtenir SOAP pour travailler ne nécessite généralement pas de compilation PHP à partir des sources. Je vous recommanderais d'essayer cela uniquement comme dernière option.
Pour faire bonne mesure, vérifiez si votre phpinfo dit quelque chose à propos de SOAP extensions:
$ php -i | grep -i soap
pour s’assurer que c’est l’extension PHP) qui manque.
En supposant que vous ne voyez rien à propos de SOAP dans le phpinfo, voyez ce que PHP SOAP pourraient vous être disponibles.
Dans Ubuntu/Debian, vous pouvez effectuer une recherche avec:
$ apt-cache search php | grep -i soap
ou dans RHEL/Fedora, vous pouvez effectuer une recherche avec:
$ yum search php | grep -i soap
Il y a généralement deux PHP SOAP paquets à votre disposition, généralement php-soap
et php-nusoap
. php-soap
est généralement ce que vous obtenez avec la configuration PHP avec --enable-soap
.
Dans Ubuntu/Debian, vous pouvez installer avec:
$ Sudo apt-get install php-soap
Ou dans RHEL/Fedora, vous pouvez installer avec:
$ Sudo yum install php-soap
Après l’installation, vous devrez peut-être placer un fichier ini et redémarrer Apache.
En ce qui concerne votre question: non, si l'activation à partir de .ini
Ne suffit pas et que vous ne pouvez pas mettre à jour PHP, vous ne pouvez pas faire grand chose. Certains modules, mais pas tous, peuvent être ajoutés sans recompilation (zypper install php5-soap
, yum install php-soap
). Si cela ne suffit pas, essayez d’installer quelques PEAR classe pour interprété SOAP support (NuSOAP, etc.).
En général, les doubles tirets --switches
Sont conçus pour être utilisés lors de la recompilation PHP à partir de zéro.
Vous devez télécharger le package PHP source (sous la forme d'une archive compressée .tgz
, Par exemple), le développer quelque part puis, par exemple, sous Linux, exécuter le script de configuration
./configure --prefix ...
La commande configure
utilisée par votre PHP peut être affichée avec phpinfo()
] _. Le répéter de manière identique devrait vous donner une copie exacte de PHP que vous avez maintenant installé. Ajouter --enable-soap
activera alors SOAP en plus de tout le reste.
Cela dit, si vous n'êtes pas familier avec PHP recompilation, ne le faites pas. Il nécessite également plusieurs bibliothèques auxiliaires que vous pourriez avoir ou non available - freetype
, Gd
, libjpeg
, XML
, expat
, et ainsi de suite (ce n'est pas assez, ils sont - installé; il doit s'agir de version développeur, c'est-à-dire avec des en-têtes, etc., dans la plupart des distributions, il est possible que libjpeg
soit installé, et vous aurez peut-être besoin de libjpeg-dev
Également).
Je dois conserver une machine virtuelle séparée avec tout ce qui est installé pour mes besoins de recompilation.
Si Ubuntu est installé sur votre ordinateur, procédez comme suit:
Ouvrez votre terminal et collez: Sudo apt-get install php-soap.
Redémarrez votre serveur Apache2 dans un terminal: redémarrez le service Apache2.
Pour vérifier, utilisez à nouveau votre fichier de test php. Cela semble être le mien à l'étape 1.