php does not have the soap extension enabled
Php does not have the soap extension enabled
Post by bpbreedlove » Tue Dec 28, 2010 9:51 am
I followed the guide Here: http://wiki.amahi.org/index.php/PhpVirtualBox to install PHPVirtualBox, however, when i navigate to to http://phpvb, I get an error: PHP does not have the SOAP extension enabled. Below is the «Details» from the error. Near fresh install of Amahi, with only one other open issue with MediaWiki that is unrelated.
I don’t really know where to begin. I’m very new to the Fedora world, and relatively new to the Linux world. I’ve run several flavors of linux within VM’s (Windows and Mac Hosts) over the past several years, but I am trying to make the jump to Linux as my primary OS, but have several minor windows applications that I cannot live/work without yet (hence the need for a Windows guest VM).
Any help would be greatly appreciated.
Post by bigfoot65 » Tue Dec 28, 2010 10:27 am
Sorry, left out the dependency in the wiki. It has been corrected. You need to do the following as root user:
That will correct the soap issue. Also, note this does not work with VirtualBox 4.0 yet according to their web site.
ßîgƒσστ65
Applications Manager
My HDA: Intel(R) Core(TM) i5-3570K CPU @ 3.40GHz on MSI board, 16GB RAM, 1TBx1+2TBx2+4TBx2
Post by bpbreedlove » Tue Dec 28, 2010 1:16 pm
Bigfoot, Thanks so much for your quick replies! But it looks like I am not quite out of the woods yet. Installed soap, reboot, then tried again:
An error occurred communicating with your vboxwebsrv. No more requests will be sent by phpVirtualBox until the error is corrected and this page is refreshed. The details of this connection error should be displayed in a subsequent dialog box.
I am going to walk back through the steps again to see if there was something I missed, possibly a misspelled password or something, but I went ahead and posted this in case there is osmething less obvious about this.
SOAP-ERROR #122
Comments
antoniomch commented May 3, 2018
I’m having this error after installing
Exception Object
(
[message:protected] => SOAP-ERROR: Parsing WSDL: Couldn’t load from ‘/var/www/html/vb/endpoints/lib/vboxwebService-5.2.wsdl’ : failed to load external entity «/var/www/html/vb/endpoints/lib/vboxwebService-5.2.wsdl»
The text was updated successfully, but these errors were encountered:
We are unable to convert the task to an issue at this time. Please try again.
The issue was successfully created but we are unable to update the comment at this time.
h6w commented May 8, 2018
I’m assuming a Linux install?
This looks like a permissions issue. Can you please verify that the user running apache/php can access the file /var/www/html/vb/endpoints/lib/vboxwebService-5.2.wsdl.
If you can access it as the apache user then there’s an issue somewhere else.
antoniomch commented May 8, 2018
Is there a way to change this from full path to relative path?
h6w commented May 8, 2018
You might want to check that. Relative or full makes no difference to permissions. If you don’t have access to a dir then you won’t be able to do anything with it even if you’ve already cd’d to it illegally.
I’d go up the directory structure one by one to see where there’s no x for the apache user or group.
antoniomch commented May 8, 2018 •
I made another test with different results.
It seams apache user has access to the files.
h6w commented May 9, 2018
antoniomch commented May 9, 2018
If I do that with apache user from «/var/www/html/vb» the file is «downloaded», and I could deleted it also
h6w commented May 10, 2018
No, just as a regular user from another machine. But yes, if you can wget it this means that apache has no trouble accessing it. The permissions are correct. What error do you get now?
antoniomch commented May 10, 2018
Since I made no changes.. The same error.
h6w commented May 10, 2018
Exactly the same? Please copy and paste the current error just to be sure. And, while you’re at it, the config you’re using.
antoniomch commented May 10, 2018
Как установить расширение soap?
Как установить мыло?
я получил эту ошибку:
фатальная ошибка: класс ‘SoapClient’ не найден в /home/user/mysite.com/path/to/file.php на линии 16
Я размещаю свой сайт в DreamHost, и они не поддерживают стороннюю установку.
Я скопировал php.ini-файл с этим скриптом: http://sxi.sabrextreme.com/dh-phpini
Я использую API с веб-сайта, и он говорит что-то вроде это:
и вот список расширений моего php.файла ini:
проблема, расширение php_soap.dll там не найден.
6 ответов
Для Windows
1: Найти расширения=php_soap.dll файлы в php.ini и удалите точку с запятой(;)
2: перезагрузите сервер
Для Linux (Ubuntu)
на ubuntu установить php_soap on PHP7 использовать ниже команды. ссылка
для более старой версии php используйте команду ниже и перезапустите apache.
Dreamhost теперь включает SoapClient в свои сборки PHP 5.3. Вы можете переключить свою версию php в разделе настройки домена панели управления dreamhost.
У меня была та же проблема, не было расширения=php_soap.dll в моем php.Ини Но это было потому, что я скопировал php.ini из старой и предыдущей версии php (не очень хорошая идея). Я нашел dll в каталоге ext, поэтому я просто мог поместить его сам в php.Ини расширение=php_soap.файл DLL После перезапуска Apache все работали с soap:)
Они не поддерживают его, как в они не помогут вам или будут нести ответственность за вас, но вы можете установить пользовательские расширения. Для этого вам нужно сначала настройка локальной установки php 5, во время этого процесса вы можете компилировать необходимые расширения или динамически добавлять их в php.ini после того.
найдите эту строку в php.ini:
затем удалите точку с запятой ; и перезапустите сервер Apache
Php does not have the soap extension enabled
Имя | По умолчанию | Место изменения | Список изменений |
---|---|---|---|
soap.wsdl_cache_enabled | 1 | PHP_INI_ALL | |
soap.wsdl_cache_dir | /tmp | PHP_INI_ALL | |
soap.wsdl_cache_ttl | 86400 | PHP_INI_ALL | |
soap.wsdl_cache | 1 | PHP_INI_ALL | |
soap.wsdl_cache_limit | 5 | PHP_INI_ALL |
Краткое разъяснение конфигурационных директив.
Включает или отключает кеширование WSDL.
Устанавливает путь к директории, где модуль SOAP будет хранить кеш-файлы.
Устанавливает количество секунд (время жизни) для файлов в кеше, которое они будут использоваться вместо оригинальных файлов.
Максимальное количество находящихся в оперативной памяти кешированных файлов WSDL. Дальнейшее добавление файлов в заполненную кеш-память будет приводить к удалению из неё самых старых файлов.
User Contributed Notes 4 notes
Be aware that wsdl cache may not be compatible across different PHP versions, which may be important to know when you upgrade your PHP on the same system or use a multi-PHP version setup where you run the same scripts from different PHP versions. In other words, when a SOAP request writes a file to the cache and then you make another SOAP request from another PHP version and this cache file is used then *sometimes* you may experience unexpected errors that you will not know where they come from.
I spent hours trying to figure out why I was getting «Encoding: Violation of encoding rules» errors every time I ran some of my SOAP scripts from PHP 7.3 just hours after switching from PHP 7.2. It turned out I needed to clear all cached wsdl files created by PHP 7.2. Downgrading from 7.3 to 7.2 caused the same errors and required clearing the cache, too.
Please note that these three ini settings will also affect the behaviour of your soap server (and clients as well) :
1. default_socket_timeout default 60 secs
Large or slow requests to your soap server or long processes at your soap server will return soap fault after 60 secs like : Error Fetching http headers.
2. max_execution_time default 30 secs
This can be the next bottleneck (but only when your default_socket_timeout is larger then this setting). Your soap server will not return anything, no faults no output, just an empty string.
3. memory_limit default 128M
Will throw fatal errors when the soap server script itself has low memory or will let your services return empty strings when the data it processes puts memory usage over this limit.
Other max POST settings luckily (but a bit suprisingly to me) have _no_ effect for your soap server. Those are :
[EDIT BY danbrown AT php DOT net: Typofix provided by (james AT voodoo DOT co DOT uk) on 4-FEB-09.]
How to enable SOAP PHP extension in Plesk?
Applicable to:
Question
How to enable SOAP PHP extension in Plesk?
Answer
SOAP classes are shipped and enabled by default in Plesk PHP.
To make sure they are enabled, perform the following actions:
Go to Tools & Settings > PHP Settings and select the required Plesk PHP version (e.g. 7.2.5 FPM application)
Mark soap checkbox and press on OK.
SOAP might not be available by default on the OS Vendor PHP
Download this script into the server and run it to check whether or not it is enabled. If not, the script will enable it:
Connect to the server via SSH
Run the following command to download the script:
Comments
I have not got an option of soap to tick
SOAP is available out of the box for PHP versions provided by Plesk.
As I can see from the screenshot, you are trying to enable SOAP for PHP provided by OS vendor. In such case, you should install SOAP on your own for instructions contact OS support.
i have SOAP Enabled but i keep getting this error