web-dev-qa-db-fra.com

Comment activer SOAP sur CentOS

Nous avons VPS avec CentOS, j'ai installé soap avec la commande suivante.

yum install php-soap

Puis je suis allé sur php.ini pour commenter une extension de savon. Ce n'était pas là alors j'ai ajouté ma propre ligne suivante.

extension=soap.so

Puis je redémarre le serveur avec la commande suivante

service httpd restart

Mais SOAP n'est toujours pas activé. lorsque j'obtiens une erreur fatale: Classe 'SoapClient' Si j'essaie de l'installer à nouveau. Je reçois le message suivant.

Package php-soap-5.3.3-27.el6_5.x86_64 already installed and latest version

J'ai essayé de reconfigurer PHP avec la commande suivante également.

php-config '--disable-fileinfo' '--disable-pdo' '--enable-bcmath' '--enable-calendar' '--enable-ftp' '--enable-libxml' '--enable-sockets' '--prefix=/usr/local' '--with-apxs2=/usr/local/Apache/bin/apxs' '--with-curl=/opt/curlssl/' '--with-imap=/opt/php_with_imap_client/' '--with-imap-ssl=/usr' '--with-kerberos' '--with-libdir=lib64' '--with-libxml-dir=/opt/xml2/' '--with-mysql=/usr' '--with-mysql-sock=/var/lib/mysql/mysql.sock' '--with-openssl=/usr' '--with-openssl-dir=/usr' '--with-pcre-regex=/opt/pcre' '--with-pic' '--with-zlib' '--with-zlib-dir=/usr' '--enable-soap'

De l'aide?

33
user3241013

Pour moi, la première chose à faire est d'installer du savon dans Centos

yum install php-soap


Deuxièmement, voyez si le paquet de savon existe ou non

yum search php-soap

troisièmement, vous devez donc voir le résultat du paquet soap que vous avez installé. Tapez maintenant une commande dans votre terminal dans le dossier racine pour rechercher l'emplacement de soap pour un chemin spécifique.

find -name soap.so

quatrièmement, vous verrez le chemin exact où son installé/situé, copiez simplement le chemin et trouvez le php.ini pour ajouter le chemin d'extension,

généralement le chemin du fichier php.ini dans centos 6 est en

/etc/php.ini

cinquièmement, ajoutez une ligne de code ci-dessous dans le fichier php.ini

extension='/usr/lib/php/modules/soap.so'

puis enregistrez le fichier et quittez.

sixième exécution Apache redémarrer la commande dans Centos. Je pense qu'il y a deux commandes qui peuvent redémarrer votre Apache (selon ce qui est le plus facile pour vous)

service httpd restart

OR

apachectl restart

Enfin, vérifiez la sortie phpinfo () dans le navigateur, vous devriez voir SOAP section où SOAP CLIENT, SOAP SERVEUR, etc. sont répertorié et affiché activé.

43
Anil

Sur CentOS 7, les travaux suivants:

yum install php-soap

Cela créera automatiquement un fichier soap.ini sous /etc/php.d.

L'extension elle-même pour moi réside dans/usr/lib64/php/modules. Vous pouvez confirmer votre répertoire de postes en faisant:

php -i | grep extension_dir

Une fois que cela a été installé, vous pouvez simplement redémarrer Apache en utilisant le nouveau gestionnaire de service comme ceci:

systemctl restart httpd

Merci à Matt Browne pour les infos sur /etc/php.d.

12
Evan Donovan

J'ai installé php-soap pour la version 7.1.1503 (Core) de CentOS Linux de la manière suivante.

1) miam installer php-soap

================================================================================
 Package              Arch           Version                 Repository    Size
================================================================================
Installing:
 php-soap             x86_64         5.4.16-36.el7_1         base         157 k
Updating for dependencies:
 php                  x86_64         5.4.16-36.el7_1         base         1.4 M
 php-cli              x86_64         5.4.16-36.el7_1         base         2.7 M
 php-common           x86_64         5.4.16-36.el7_1         base         563 k
 php-devel            x86_64         5.4.16-36.el7_1         base         600 k
 php-Gd               x86_64         5.4.16-36.el7_1         base         126 k
 php-mbstring         x86_64         5.4.16-36.el7_1         base         503 k
 php-mysql            x86_64         5.4.16-36.el7_1         base          99 k
 php-pdo              x86_64         5.4.16-36.el7_1         base          97 k
 php-xml              x86_64         5.4.16-36.el7_1         base         124 k

Transaction Summary
================================================================================
Install  1 Package
Upgrade             ( 9 Dependent packages)

Total download size: 6.3 M
Is this ok [y/d/N]: y
Downloading packages:
------
------
------

Installed:
  php-soap.x86_64 0:5.4.16-36.el7_1

Dependency Updated:
  php.x86_64 0:5.4.16-36.el7_1          php-cli.x86_64 0:5.4.16-36.el7_1
  php-common.x86_64 0:5.4.16-36.el7_1   php-devel.x86_64 0:5.4.16-36.el7_1
  php-Gd.x86_64 0:5.4.16-36.el7_1       php-mbstring.x86_64 0:5.4.16-36.el7_1
  php-mysql.x86_64 0:5.4.16-36.el7_1    php-pdo.x86_64 0:5.4.16-36.el7_1
  php-xml.x86_64 0:5.4.16-36.el7_1

Complete!

2) yum search php-soap

============================ N/S matched: php-soap =============================
php-soap.x86_64 : A module for PHP applications that use the SOAP protocol

3) service httpd restart

Pour vérifier le suivi suivant

4) php -m | savon GREP-I

savon

5
Mukesh

Après des heures de recherche, je pense que mon problème était cette commande yum install php-soap installe la dernière version de soap pour la dernière version de php.

Ma version php était 7.027, mais la dernière version de php est 7.2, j’ai donc dû chercher la bonne version de savon et l’ai enfin trouvé ICI!

yum install rh-php70-php-soap

À présent php -m | grep -i soap fonctionne, Sortie: soap

N'oubliez pas de redémarrer le service httpd.

1
Ahmad Mobaraki