Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error because of lack of cURL and allow_url_fopen #1008

Open
jdevalk opened this issue Feb 6, 2024 · 4 comments
Open

Error because of lack of cURL and allow_url_fopen #1008

jdevalk opened this issue Feb 6, 2024 · 4 comments
Labels
[Feature] PHP.wasm [Type] Enhancement New feature or request [Type] Reliability Playground uptime, reliability, not crashing

Comments

@jdevalk
Copy link
Contributor

jdevalk commented Feb 6, 2024

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.

@adamziel adamziel added [Type] Enhancement New feature or request [Feature] PHP.wasm [Type] Reliability Playground uptime, reliability, not crashing labels Feb 9, 2024
@adamziel adamziel mentioned this issue Feb 9, 2024
26 tasks
@CodyReichert
Copy link

CodyReichert commented Feb 27, 2024

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.

@jcvignoli
Copy link

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.

@adamziel
Copy link
Collaborator

adamziel commented Mar 4, 2024

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

#85

To bring some good news, I got a basic file_get_contents("https://mysite.com") support to work in #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
Copy link
Collaborator

adamziel commented Mar 7, 2024

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 #1093.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Feature] PHP.wasm [Type] Enhancement New feature or request [Type] Reliability Playground uptime, reliability, not crashing
Projects
Status: No status
Development

No branches or pull requests

4 participants