PHP settings with
disable_functions exec, system, proc_open, popen, curl_exec, curl_multi_exec, show_source
allow_url_fopen On
Stream transport should be used by Http library, enabling update check of Joomla and extensions
Updater does not work, complains that curl_exec() is not activated, but does not try to fallback to stream transport, although allow_url_fopen is set to ON.
My workaround was to remove the "CurlTransport.php" from the Transport folder of the Http library. Since that folder is scanned for available transports the curl-transport is no longer available. After that the Joomla Updater was working just fine.
PHP 7.2.0
disable_functions exec, system, proc_open, popen, curl_exec, curl_multi_exec, show_source
allow_url_fopen On
If you would direct me to the php script that does the check I could at least try to understand, why it's not working for my hoster. Guess it's always good to understand why it's not working in this case.
Thanks
The same CurlTransport.php file, the __construct()
and isSupported
methods.
Status | New | ⇒ | Information Required |
Yeah, I understand your point.
For the hoster the curl_exec() is the "dangerous" method, which (I guess) is only disabled for certain packages/customers. So module is loaded in general, but disabled for some users.
Since I could not find any previous error report in that direction I guess it's not done this way very often. For my peace of mind I'll ask my hoster if he could simply add curl_init() to the list of disabled functions, that should also fix it for other customers, and I don't have to do local fixes.
Thanks for your support mbabker!
@LawrenceWence if this Issue is solved please close it, thanks.
For me it can be solved by different php settings (either disable curl completely or also add curl_init() to the list of disabled functions), so I'll close it.
Status | Information Required | ⇒ | Closed |
Closed_Date | 0000-00-00 00:00:00 | ⇒ | 2017-12-14 14:07:24 |
Closed_By | ⇒ | LawrenceWence |
To be honest, I would be very hesitant to start changing our checks to include disabled function lists. Otherwise in theory the check would have to include every
curl_*()
function we use. The system passes all checks for ext/curl being installed and enabled, that is why the CurlTransport gets used.