• Resolved bogdanh

    (@bogdanhapcayardicom)


    After the update to the version 1.12 we’ve been getting some completely blank pages instead of the posts in the frontend.

    The error logs were showing a seemingly mild warning:
    2022-10-19T16:52:03.860792391Z PHP message: Warning: require_once(): vip:// wrapper is disabled in the server configuration by allow_url_include=0 in /var/www/wp-content/plugins/worth-the-read/options/inc/classes/class-redux-functions-ex.php on line 402 [...redacted...] [wp-content/plugins/worth-the-read/options/inc/classes/class-redux-functions-ex.php:402 require_once(''), wp-content/plugins/worth-the-read/options/inc/classes/class-redux-api.php:252 Redux_Functions_Ex::extension_compatibility(), wp-content/plugins/worth-the-read/options/inc/classes/class-redux-api.php:1564 Redux::load_extensions(), wp-content/plugins/worth-the-read/options/inc/classes/class-redux-extensions.php:116 Redux::set_extensions(), wp-content/plugins/worth-the-read/options/inc/classes/class-redux-extensions.php:28 Redux_Extensions->load(), wp-content/plugins/worth-the-read/options/framework.php:500 Redux_Extensions->__construct(), wp-content/plugins/worth-the-read/options/inc/classes/class-redux-api.php:390 ReduxFrame...

    If logged-in as Admin, when QueryManager kicks-in, it was showing the following instead of that empty page in the frontend:

    Fatal error: Uncaught Error: Failed opening required 'vip://wp-content/uploads/sites/51/redux//extension_compatibility/ReduxFramework_Extension_options_object_extended.php' (include_path='.')?in /var/www/wp-content/plugins/worth-the-read/options/inc/classes/class-redux-functions-ex.php on line 402
    Call stack:
    	1	Redux_Functions_Ex::extension_compatibility()?wp-content/plugins/worth-the-read/options/inc/classes/class-redux-api.php:252
    	2	Redux::load_extensions()?wp-content/plugins/worth-the-read/options/inc/classes/class-redux-api.php:1564
    	3	Redux::set_extensions()?wp-content/plugins/worth-the-read/options/inc/classes/class-redux-extensions.php:116
    	4	Redux_Extensions::load()?wp-content/plugins/worth-the-read/options/inc/classes/class-redux-extensions.php:28
    	5	Redux_Extensions::__construct()?wp-content/plugins/worth-the-read/options/framework.php:500
    	6	ReduxFramework::__construct()?wp-content/plugins/worth-the-read/options/inc/classes/class-redux-api.php:390
    	7	Redux::load_redux()?wp-content/plugins/worth-the-read/options/inc/classes/class-redux-api.php:417
    	8	Redux::create_redux()?wp-includes/class-wp-hook.php:307
    	9	WP_Hook::apply_filters()?wp-includes/class-wp-hook.php:331
    	10	WP_Hook::do_action()?wp-includes/plugin.php:476
    	11	do_action()?wp-settings.php:576
    	12	require_once()?wp-config.php:53
    	13	require_once()?wp-load.php:50
    	14	require_once()?wp-blog-header.php:13
    	15	require()?index.php:17

    As a workaround, if we return null on the line 402 of plugins/worth-the-read/options/inc/classes/class-redux-functions-ex.php, it works, apparently well.

    This is a regression. We previously ran version 1.7, where this problem was not present.

Viewing 6 replies - 1 through 6 (of 6 total)
  • Thread Starter bogdanh

    (@bogdanhapcayardicom)

    Basically the least disruptive workaround I was able to come up with was to replace the line 402 with this:

    if (strpos($upload_dir, '://') !== false && !ini_get('allow_url_include')) {
        return null;
    } else {
        require_once $upload_dir . $new_class_name . '.php';
    }
    Plugin Author brianmcculloh

    (@brianmcculloh)

    It’s possible you have another plugin running which uses the Redux Options framework, which is what Worth The Read uses. Between 1.7 and the latest plugin version there were updates to the Redux Options framework core code within WTR, so that would explain why it works in 1.7 but not in the latest version. Do you know of any other plugins that are utilizing this framework and potentially causing conflicts having both version active at the same time?

    Thread Starter bogdanh

    (@bogdanhapcayardicom)

    @brianmcculloh Thank you for looking into this. I don’t know what other plugins are using redux, but the same code works fine on a local WP install. We get this error only in the WP VIP env.

    My guess is that they have some virtualised file system (see https://docs.wpvip.com/technical-references/vip-go-files-system/) so instead of normal paths that you’d see in a vanilla WP we get these URIs with custom schemes, like ‘vip://wp-content/uploads/sites/51/redux//extension_compatibility/ReduxFramework_Extension_options_object_extended.php’ while having allow_url_include=0. No wonder they can’t be included.

    I’ll try to run this by their support and see what they have to say.

    Plugin Author brianmcculloh

    (@brianmcculloh)

    Thank you for the helpful reply. Please let me know what you hear back from their support, I would greatly appreciate that!

    Thread Starter bogdanh

    (@bogdanhapcayardicom)

    Their support came back with some less than helpful suggestions, revolving around the use of wp_get_upload_dir() or wp_upload_dir(), documented at https://docs.wpvip.com/technical-references/vip-go-files-system/media-uploads/#h-programmatic-access-to-media-uploads, alas those seem to return the same useless vip:// urls.

    I also tried to set the allow_url_include flag programatically, via ini_set, but it failed. If that worked, the ‘redux/upload_dir’ filter would have been a good place to call it, without changing the plugin itself.

    Closing this ticket, as I believe this is a VIP issue, not a plugin issue.

    Plugin Author brianmcculloh

    (@brianmcculloh)

    I appreciate you following up with this, thank you.

Viewing 6 replies - 1 through 6 (of 6 total)
  • The topic ‘Fatal error when ran on WP VIP’ is closed to new replies.