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?
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é.
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.
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
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
.