ОК. Я только начинаю использовать мыло, и моя первая проблема заключается в его установке. Я получил эту ошибку:
Fatal error: Class 'SoapClient' not found in /home/user/mysite.com/path/to/file.php on line 16
Я размещаю свой сайт в DreamHost и спрашиваю ребята. Но они сказали мне, что они не поддерживают стороннюю установку.
У кого-то есть такая же проблема и удается ее решить?
Thansk!
ОБНОВИТЬ:
Мне удалось скопировать файл 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: Найти расширение = php_soap.dll в php.ini и удалить точку с запятой (;)
2: Перезапустите сервер
В ubuntu для установки php_soap
на PHP7 используйте команды ниже. Справка
sudo apt-get install php7.0-soap sudo systemctl restart apache2.service
Для более старой версии php используйте команду ниже и перезапустите apache.
apt-get install php-soap
Dreamhost теперь включает SoapClient в своих сборках PHP 5.3. Вы можете переключить свою версию php в разделе настройки домена панели управления dreamhost.
У меня была та же проблема: в php.ini не было расширения = php_soap.dll. Но это было потому, что я скопировал php.ini из старой и предыдущей версии php (не очень хорошая идея). Я нашел dll в каталоге ext, поэтому я просто смог поместить его в расширение php.ini = php_soap.dll После перезапуска Apache все работало с мылом 🙂
Они не поддерживают его, поскольку они не помогут вам или несут ответственность за то, что вы что-то делаете, но вы можете установить пользовательские расширения. Для этого вам нужно сначала настроить локальную установку php 5 , во время этого процесса вы можете скомпилировать необходимые расширения или добавить их динамически в php.ini после факта.