Как установить расширение мыла?
Как мне установить 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 там не найдено.
Ответы
Ответ 1
Для Windows
-
Найдите в php.ini extension=php_soap.dll
или extension=soap
и удалите точку с запятой в начале строки. В конце концов проверьте наличие soap.ini
soap.ini в каталоге conf.d.
-
Перезагрузите ваш сервер.
Для линукса
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 | Больше