簡體   English   中英

如何在 CentOS 上啟用 SOAP

[英]How to enable SOAP on CentOS

我們有 CentOS 的 VPS。 我已經使用以下命令安裝了 SOAP:

$ yum install php-soap

然后我轉到php.ini文件取消對 SOAP 擴展的注釋。 它不在那里,所以我添加了以下行:

extension=soap.so

然后我通過運行重新啟動服務器

$ service httpd restart

但是 SOAP 仍然沒有啟用。 我收到Fatal error: Class 'SoapClient'消息。

如果我再次嘗試安裝它,我會收到以下消息:

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

我也嘗試使用以下命令重新配置 PHP:

$ 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'

有什么幫助嗎?

在我看來,第一件事是將soap安裝到Centos中

yum install php-soap


二、查看soap包是否存在

yum search php-soap

第三,因此您必須看到安裝的soap包的一些結果,現在在根文件夾中的終端中鍵入命令以搜索soap的位置以獲取特定路徑

find -name soap.so

第四,您將看到其安裝/定位的確切路徑,只需復制路徑並找到 php.ini 以添加擴展路徑,

通常centos 6中php.ini文件的路徑在

/etc/php.ini

五、從下面添加一行代碼到php.ini文件中

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

然后保存文件並退出。

第六步在Centos中運行apache restart命令。 我認為有兩個命令可以重新啟動你的 apache(以你更容易的為准)

service httpd restart

或者

apachectl restart

最后,檢查瀏覽器中的 phpinfo() 輸出,您應該看到 SOAP 部分,其中列出了 SOAP CLIENT、SOAP SERVER 等並顯示為已啟用。

在 CentOS 7 上,以下工作:

yum install php-soap

這將自動在/etc/php.d 下創建一個soap.ini。

我的擴展本身位於 /usr/lib64/php/modules 中。 您可以通過執行以下操作來確認您的擴展目錄:

php -i | grep extension_dir

安裝完成后,您可以使用新的服務管理器簡單地重新啟動 Apache,如下所示:

systemctl restart httpd

感謝 Matt Browne 提供有關 /etc/php.d 的信息。

我使用以下方式將 php-soap 安裝到 CentOS Linux 版本 7.1.1503(核心)。

1) yum 安裝 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 搜索 php-soap

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

3)服務httpd重啟

驗證運行以下

4) php -m | grep -i 肥皂

肥皂

yum install php-soap命令將為 php 5.x 安裝 Soap 模塊

為了為您的環境安裝正確的版本,我建議創建一個文件info.php並放置以下代碼: <?php echo phpinfo(); ?> <?php echo phpinfo(); ?>

在標題中,您將看到您正在使用的版本:

在此處輸入圖片說明

現在您知道正確的版本,您可以運行以下命令: yum search php-soap

此命令將返回可用版本:

php-soap.x86_64 : A module for PHP applications that use the SOAP protocol
php54-php-soap.x86_64 : A module for PHP applications that use the SOAP protocol
php55-php-soap.x86_64 : A module for PHP applications that use the SOAP protocol
php56-php-soap.x86_64 : A module for PHP applications that use the SOAP protocol
php70-php-soap.x86_64 : A module for PHP applications that use the SOAP protocol
php71-php-soap.x86_64 : A module for PHP applications that use the SOAP protocol
php72-php-soap.x86_64 : A module for PHP applications that use the SOAP protocol
php73-php-soap.x86_64 : A module for PHP applications that use the SOAP protocol
php74-php-soap.x86_64 : A module for PHP applications that use the SOAP protocol
rh-php70-php-soap.x86_64 : A module for PHP applications that use the SOAP protocol
rh-php71-php-soap.x86_64 : A module for PHP applications that use the SOAP protocol
rh-php72-php-soap.x86_64 : A module for PHP applications that use the SOAP protocol

現在您只需要為您的 php 版本選擇正確的模塊。

對於這個例子,你應該運行這個命令php72-php-soap.x86_64

經過數小時的搜索,我認為我的問題是命令yum install php-soap soap 為最新的 php 版本安裝了最新版本的soap。

我的 php 版本是7.027 ,但最新的 php 版本是7.2所以我不得不搜索正確的soap版本並最終在這里找到它

yum install rh-php70-php-soap

現在php -m | grep -i soap php -m | grep -i soap工作,輸出: soap

不要忘記重新啟動httpd服務。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM