wordpress-playground icon indicating copy to clipboard operation
wordpress-playground copied to clipboard

Error because of lack of cURL and allow_url_fopen

Open jdevalk opened this issue 6 months ago • 6 comments

When you try to use the Plausible WordPress plugin on the WordPress playground, you get the following fatal error:

Fatal error: Uncaught RuntimeException: Plausible\Analytics\WP\Client\Lib\GuzzleHttp requires cURL, the allow_url_fopen ini setting, or a custom HTTP handler. in /wordpress/wp-content/plugins/plausible-analytics/src/Client/lib/Lib/GuzzleHttp/Utils.php:105 Stack trace: #0 /wordpress/wp-content/plugins/plausible-analytics/src/Client/lib/Lib/GuzzleHttp/HandlerStack.php(49): Plausible\Analytics\WP\Client\Lib\GuzzleHttp\Utils::chooseHandler() #1 /wordpress/wp-content/plugins/plausible-analytics/src/Client/lib/Lib/GuzzleHttp/Client.php(53): Plausible\Analytics\WP\Client\Lib\GuzzleHttp\HandlerStack::create() #2 /wordpress/wp-content/plugins/plausible-analytics/src/Client.php(36): Plausible\Analytics\WP\Client\Lib\GuzzleHttp\Client->__construct() #3 /wordpress/wp-content/plugins/plausible-analytics/src/Admin/Provisioning.php(40): Plausible\Analytics\WP\Client->__construct() #4 /wordpress/wp-content/plugins/plausible-analytics/src/Plugin.php(42): Plausible\Analytics\WP\Admin\Provisioning->__construct() #5 /wordpress/wp-includes/class-wp-hook.php(3): Plausible\Analytics\WP\Plugin->register_services('') #6 /wordpress/wp-includes/class-wp-hook.php(3): WP_Hook->apply_filters(NULL, Array) #7 /wordpress/wp-includes/plugin.php(2): WP_Hook->do_action(Array) #8 /wordpress/wp-settings.php(2): do_action('plugins_loaded') #9 /wordpress/wp-config.php(99): require_once('/wordpress/wp-s...') #10 /wordpress/wp-load.php(2): require_once('/wordpress/wp-c...') #11 /wordpress/wp-admin/admin.php(2): require_once('/wordpress/wp-l...') #12 /wordpress/wp-admin/index.php(2): require_once('/wordpress/wp-a...') #13 {main} thrown in /wordpress/wp-content/plugins/plausible-analytics/src/Client/lib/Lib/GuzzleHttp/Utils.php on line 105

With networking enabled, maybe allow_url_fopen should be true?

I've also filed an issue with Plausible who should catch this fatal error.

jdevalk avatar Feb 06 '24 17:02 jdevalk

I don't think I'm providing any new info here, but wanted to chime in that I have the same issue when adding a blueprint for SimplyRETS. We use curl when available or fall back to file_get_contents.

cURL isn't enabled and file_get_contents() returns the following error:

Warning: file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0 in /wordpress/wp-content/plugins/simply-rets/simply-rets-api-helper.php on line 287

Warning: file_get_contents(https://...<url>): Failed to open stream: no suitable wrapper could be found in /wordpress/wp-content/plugins/simply-rets/simply-rets-api-helper.php on line 287

Really cool work so far though, I'm looking forward to this support.

CodyReichert avatar Feb 27 '24 23:02 CodyReichert

With my plugin, which also needs CuRL, I get a different message:

PHP Fatal error: Uncaught Error: Call to undefined function Imdb\curl_init() in /wordpress/wp-content/plugins/lumiere-movies/vendor/jcvignoli/imdbphp/src/Imdb/Request.php:37

Seems like php extension CuRL.

jcvignoli avatar Mar 01 '24 17:03 jcvignoli

Libcurl and stream wrappers are indeed not supported at the moment. This issue explores the challenge:

https://github.com/WordPress/wordpress-playground/issues/85

To bring some good news, I got a basic file_get_contents("https://mysite.com") support to work in https://github.com/WordPress/wordpress-playground/pull/1051, and the technique used would unblock libcurl support, too. Note that PR is focused on another topic and needs a lot of cleaning up as it's an amalgamate of many different explorations.

adamziel avatar Mar 04 '24 14:03 adamziel

I've extracted the HTTPS support, which is a pre-requisite to supporting libcurl, to a separate PR where it can be discussed and iterated on https://github.com/WordPress/wordpress-playground/pull/1093.

adamziel avatar Mar 07 '24 12:03 adamziel