?
avatar LawrenceWence
LawrenceWence
14 Dec 2017

Steps to reproduce the issue

PHP settings with
disable_functions exec, system, proc_open, popen, curl_exec, curl_multi_exec, show_source
allow_url_fopen On

Expected result

Stream transport should be used by Http library, enabling update check of Joomla and extensions

Actual result

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.

System information (as much as possible)

PHP 7.2.0
disable_functions exec, system, proc_open, popen, curl_exec, curl_multi_exec, show_source
allow_url_fopen On

Additional comments

Votes

# of Users Experiencing Issue
1/1
Average Importance Score
3.00

avatar LawrenceWence LawrenceWence - open - 14 Dec 2017
avatar joomla-cms-bot joomla-cms-bot - labeled - 14 Dec 2017
avatar mbabker
mbabker - comment - 14 Dec 2017

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.

avatar LawrenceWence
LawrenceWence - comment - 14 Dec 2017

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

avatar mbabker
mbabker - comment - 14 Dec 2017

The same CurlTransport.php file, the __construct() and isSupported methods.

avatar franz-wohlkoenig franz-wohlkoenig - change - 14 Dec 2017
Status New Information Required
avatar LawrenceWence
LawrenceWence - comment - 14 Dec 2017

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!

avatar franz-wohlkoenig
franz-wohlkoenig - comment - 14 Dec 2017

@LawrenceWence if this Issue is solved please close it, thanks.

avatar LawrenceWence
LawrenceWence - comment - 14 Dec 2017

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.

avatar LawrenceWence LawrenceWence - change - 14 Dec 2017
Status Information Required Closed
Closed_Date 0000-00-00 00:00:00 2017-12-14 14:07:24
Closed_By LawrenceWence
avatar LawrenceWence LawrenceWence - close - 14 Dec 2017

Add a Comment

Login with GitHub to post a comment