Подтвердить что ты не робот

Как установить расширение мыла?

Как мне установить Soap?

Я получил эту ошибку:

Неустранимая ошибка: класс "SoapClient" не найден в /home/user/mysite.com/path/to/file.php в строке 16

Я размещаю свой сайт в DreamHost, и они не поддерживают какую-либо стороннюю установку.

ОБНОВИТЬ:

Я скопировал файл php.ini с помощью этого скрипта: http://sxi.sabrextreme.com/dh-phpini

Я использую API с веб-сайта, и он говорит что-то вроде этого:

#######################################################################
## You need to enable the following extensions in your PHP.ini file  ##
## php_openssl.dll          ##
## php_soap.dll             ##
#######################################################################

и вот список расширений моего файла php.ini:

extension=php_bz2.dll
;extension=php_cpdf.dll
;extension=php_curl.dll
;extension=php_dba.dll
;extension=php_dbase.dll
;extension=php_dbx.dll
;extension=php_exif.dll
;extension=php_fdf.dll
;extension=php_filepro.dll
;extension=php_gd2.dll
;extension=php_gettext.dll
;extension=php_ifx.dll
;extension=php_iisfunc.dll
;extension=php_imap.dll
;extension=php_interbase.dll
;extension=php_java.dll
;extension=php_ldap.dll
;extension=php_mbstring.dll
;extension=php_mcrypt.dll
;extension=php_mhash.dll
;extension=php_mime_magic.dll
;extension=php_ming.dll
;extension=php_mssql.dll
;extension=php_msql.dll
;extension=php_mysql.dll
;extension=php_oci8.dll
**extension=php_openssl.dll**
;extension=php_oracle.dll
;extension=php_pdf.dll
;extension=php_pgsql.dll
;extension=php_shmop.dll
;extension=php_snmp.dll
;extension=php_sockets.dll
;extension=php_sybase_ct.dll
;extension=php_tidy.dll
;extension=php_w32api.dll
;extension=php_xmlrpc.dll
;extension=php_xsl.dll
;extension=php_yaz.dll
;extension=php_zip.dll

Проблема в том, что расширение php_soap.dll там не найдено.

4b9b3361

Ответ 1

Для Windows

  1. Найдите в php.ini extension=php_soap.dll или extension=soap и удалите точку с запятой в начале строки. В конце концов проверьте наличие soap.ini soap.ini в каталоге conf.d.

  2. Перезагрузите ваш сервер.

Для линукса

Ubuntu:

PHP7

апаш

sudo apt-get install php7.0-soap 
sudo systemctl restart apache2

PHP5

sudo apt-get install php-soap
sudo systemctl restart apache2

OpenSuse:

PHP7

апаш

sudo zypper in php7-soap
sudo systemctl restart apache2

Nginx

sudo zypper in php7-soap
sudo systemctl restart nginx

Ответ 2

В ubuntu для установки php_soap в PHP7 используйте команды ниже. Ссылка

sudo apt-get install php7.0-soap
sudo systemctl restart apache2.service

Для старой версии php используйте команду ниже и перезапустите apache.

apt-get install php-soap

Ответ 3

найдите эту строку в php.ini:

;extension=soap

затем удалите точку с запятой ; и перезапустите сервер Apache

Ответ 4

Dreamhost теперь включает SoapClient в своих сборках PHP 5.3. Вы можете переключить свою версию php в разделе настройки домена панели управления dreamhost.

Ответ 5

У меня была та же проблема, в моем php.ini не было расширения = php_soap.dll Но это было потому, что я скопировал php.ini из старой и предыдущей версии php (не очень хорошая идея). Я нашел dll в каталоге ext, так что я просто мог поместить его в php.ini расширение = php_soap.dll После перезапуска Apache все работает с мылом:)

Ответ 6

Они не поддерживают его, поскольку они не помогут вам или несут ответственность за то, что вы что-то шлепаете, но вы можете установить пользовательские расширения. Для этого вам нужно сначала настроить локальную установку php 5, во время этого процесса вы можете скомпилировать нужные расширения или добавить их динамически в php.ini после факта.

Ответ 7

Как сделать для Linux Ubuntu...

sudo apt-get установить php7.1-soap

Проверьте, существует ли файл php_soap.ao в "/usr/lib/php/20160303/"

ls/usr/lib/php/20160303/| grep -i мыло soap.so php_soap.so

sudo vi/etc/php/7.1/cli/php.ini

Измените строку; расширение = php_soap.dll на расширение = php_soap.so

sudo systemctl перезапустить apache2

Проверяю...

php -m | Больше