Support » Plugin: Yoast SEO » PHP 8.1 compatible?

  • Resolved eugenevanderhost

    (@eugenevanderhost)


    We get this on 8.1.

    Table ‘xxxx_wp.yoast_wp_seo_models_indexable’ doesn’t exist

    Table isn’t actually there. Recreating tables using table and indexing tools doesn’t work.

    To me it looks like a naming problem, the software isn’t called “yoast_wp_seo” anymore?

    Full log:

    [Wed Dec 01 13:02:03.997457 2021] [fcgid:warn] [pid 2258024:tid 139808861038336] [client x.x.186.173:19022] mod_fcgid: stderr: WordPress database error Table ‘xxxx_wp.yoast_wp_seo_models_indexable’ doesn’t exist for query SELECT * FROM yoast_wp_seo_models_indexable WHERE object_id = ‘1’ AND object_type = ‘user’ LIMIT 1 made by require(‘wp-blog-header.php’), wp, WP->main, WP->parse_request, do_action_ref_array(‘parse_request’), WP_Hook->do_action, WP_Hook->apply_filters, rest_api_loaded, WP_REST_Server->serve_request, WP_REST_Server->dispatch, WP_REST_Server->respond_to_request, Yoast\\WP\\SEO\\Routes\\Indexing_Route->index_posts, Yoast\\WP\\SEO\\Routes\\Indexing_Route->run_indexation_action, Yoast\\WP\\SEO\\Routes\\Abstract_Indexation_Route->run_indexation_action, Yoast\\WP\\SEO\\Actions\\Indexing\\Indexable_Post_Indexation_Action->index, Yoast\\WP\\SEO\\Repositories\\Indexable_Repository->find_by_id_and_type, Yoast\\WP\\SEO\\Builders\\Indexable_Builder->build_for_id_and_type, Yoast\\WP\\SEO\\Builders\\Indexable_Builder->build, Yoast\\WP\\SEO\\Builders\\Indexable_Post_Builder->build, Yoast\\WP\\SEO\\Builders\\Indexable_Post_Builder->has_public_posts, Yoast\\WP\\SEO\\Repositories\\Indexable_Repository->find_by_id_and_type, Yoast\\WP\\SEO\\Builders\\Indexable_Builder->build_for_id_and_type, Yoast\\WP\\SEO\\Builders\\Indexable_Builder->build, Yoast\\WP\\SEO\\Repositories\\Indexable_Repository->find_by_id_and_type, Yoast\\WP\\Lib\\ORM->find_one, Yoast\\WP\\Lib\\ORM->run, Yoast\\WP\\Lib\\ORM::execute, referer: https://www.[redacted].com/wp-admin/admin.php?page=wpseo_tools

Viewing 12 replies - 1 through 12 (of 12 total)
  • Plugin Support Maybellyne

    (@maybellyne)

    Hello Eugene,

    We are sorry about the issue you experienced with our plugin and PHP 8. Unfortunately, we haven’t yet fully tested the plugin with PHP version 8. The entire WordPress community is still working on it. You can read the https://developer.yoast.com/blog/the-2020-wordpress-and-php-8-compatibility-report/.

    For Yoast SEO to run properly, you should have a PHP version of 5.6.20 or higher. In fact, we recommend PHP version 7.3 or above. Before you upgrade to a higher PHP version, check if your WordPress site is ready for it. Read this helpful article to learn how to update your PHP version. Also, your PHP memory should be 256M or greater.

    Thank you.

    roundaboutweb

    (@roundaboutweb)

    I also disabled YOAST SEO because it is not compatible with PHP 8.1.
    Will probably enable it again once the bug is fixed.

    Plugin Support Michael Tina

    (@mikes41720)

    Hi @roundaboutweb

    Are you also experiencing a similar error from the log as per the forum thread starter?

    If not, we invite you to create your own topic so we can help assist you with your concern.

    Otherwise, we do know that since PHP 8.1 was launched just last November 25, 2021, there certainly might be issues with compatibility with not just Yoast SEO, but other plugins and WordPress itself.

    roundaboutweb

    (@roundaboutweb)

    I am testing PHP 8.1 in different WordPress installations. So far I have noticed only one error in connection with YOAST SEO.

    PHP error log:

    PHP Fatal error: Uncaught mysqli_sql_exception: Table ‘XXXXXXXX.yoast_wp_seo_models_indexable’ doesn’t exist in /html/wordpress/wp-includes/wp-db.php:2056

    Stack trace:
    #0 /html/wordpress/wp-includes/wp-db.php(2056): mysqli_query(Object(mysqli), ‘SELECT * FROM `…’)
    #1 /html/wordpress/wp-includes/wp-db.php(1945): wpdb->_do_query(‘SELECT * FROM `…’)
    #2 /html/wordpress/wp-content/plugins/wordpress-seo/lib/orm.php(286): wpdb->query(‘SELECT * FROM `…’)
    #3 /html/wordpress/wp-content/plugins/wordpress-seo/lib/orm.php(1953): Yoast\WP\Lib\ORM::execute(‘SELECT * FROM `…’, Array)
    #4 /html/wordpress/wp-content/plugins/wordpress-seo/lib/orm.php(384): Yoast\WP\Lib\ORM->run()
    #5 /html/wordpress/wp-content/plugins/wordpress-seo/src/repositories/indexable-repository.php(335): Yoast\WP\Lib\ORM->find_one()
    #6 /html/wordpress/wp-content/plugins/wordpress-seo/src/repositories/indexable-repository.php(117): Yoast\WP\SEO\Repositories\Indexable_Repository->find_by_id_and_type(52, ‘post’)
    #7 /html/wordpress/wp-content/plugins/wordpress-seo/src/memoizers/meta-tags-context-memoizer.php(96): Yoast\WP\SEO\Repositories\Indexable_Repository->for_current_page()
    #8 /html/wordpress/wp-content/plugins/wordpress-seo/src/integrations/front-end/wp-robots-integration.php(87): Yoast\WP\SEO\Memoizers\Meta_Tags_Context_Memoizer->for_current_page()
    #9 /html/wordpress/wp-content/plugins/wordpress-seo/src/integrations/front-end/wp-robots-integration.php(73): Yoast\WP\SEO\Integrations\Front_End\WP_Robots_Integration->get_robots_value()
    #10 /html/wordpress/wp-includes/class-wp-hook.php(303): Yoast\WP\SEO\Integrations\Front_End\WP_Robots_Integration->add_robots(Array)
    #11 /html/wordpress/wp-includes/plugin.php(189): WP_Hook->apply_filters(Array, Array)
    #12 /html/wordpress/wp-includes/robots-template.php(32): apply_filters(‘wp_robots’, Array)
    #13 /html/wordpress/wp-includes/class-wp-hook.php(303): wp_robots(”)
    #14 /html/wordpress/wp-includes/class-wp-hook.php(327): WP_Hook->apply_filters(NULL, Array)
    #15 /html/wordpress/wp-includes/plugin.php(470): WP_Hook->do_action(Array)
    #16 /html/wordpress/wp-includes/general-template.php(3015): do_action(‘wp_head’)
    #17 /html/wordpress/wp-content/themes/Divi/header.php(27): wp_head()
    #18 /html/wordpress/wp-includes/template.php(770): require_once(‘/html/wordpress…’)
    #19 /html/wordpress/wp-includes/template.php(716): load_template(‘/html/wordpress…’, true, Array)
    #20 /html/wordpress/wp-includes/general-template.php(48): locate_template(Array, true, true, Array)
    #21 /html/wordpress/wp-content/themes/Divi/page.php(3): get_header()
    #22 /html/wordpress/wp-includes/template-loader.php(106): include(‘/html/wordpress…’)
    #23 /html/wordpress/wp-blog-header.php(19): require_once(‘/html/wordpress…’)
    #24 /html/wordpress/index.php(17): require(‘/html/wordpress…’)
    #25 {main}
    thrown in /html/wordpress/wp-includes/wp-db.php on line 2056

    Plugin Support Suwash Kunwar

    (@suascat_wp)

    @roundaboutweb

    We appreciate your input while we are trying to narrow down the cause of this similar issue.

    @wpmind while we are in an attempt to gather some more information about the cause of this error, we know you’ve created a new topic yourself here, kindly follow us with your specific information about your setup on your respective thread so that would help us decide whether there’s something behind with compatibility with PHP 8.1.

    @eugenevanderhost please verify that if your database has correct permission to create a table yoast_wp_seo_models_indexable. If you are not sure, you might need your web host support help. Please refer to this help article: https://yoast.com/help/cannot-create-database-tables/

    cf00

    (@cf00)

    I see a similar error message (resulting in a 500 server error) when testing PHP 8.1:

    PHP Fatal error:  Uncaught mysqli_sql_exception: Table 'wp.yoast_wp_seo_models_indexable' doesn't exist in /var/www/wp/wp-includes/wp-db.php:2056
    Stack trace:
    #0 /var/www/wp/wp-includes/wp-db.php(2056): mysqli_query()
    #1 /var/www/wp/wp-includes/wp-db.php(1945): wpdb->_do_query()
    #2 /var/www/wp/wp-content/plugins/wordpress-seo/lib/orm.php(286): wpdb->query()
    #3 /var/www/wp/wp-content/plugins/wordpress-seo/lib/orm.php(1953): Yoast\WP\Lib\ORM::execute()
    #4 /var/www/wp/wp-content/plugins/wordpress-seo/lib/orm.php(384): Yoast\WP\Lib\ORM->run()
    #5 /var/www/wp/wp-content/plugins/wordpress-seo/src/repositories/indexable-repository.php(335): Yoast\WP\Lib\ORM->find_one()
    #6 /var/www/wp/wp-content/plugins/wordpress-seo/src/repositories/indexable-repository.php(117): Yoast\WP\SEO\Repositories\Indexable_Repository->find_by_id_and_type()
    #7 /var/www/wp/wp-content/plugins/wordpress-seo/src/memoizers/meta-tags-context-memoizer.php(96): Yoast\WP\SEO\Repositories\Indexable_Repository->for_current_page()
    #8 /var/www/wp/wp-content/plugins/wordpress-seo/src/integrations/front-end/wp-robots-integration.php(87): Yoast\WP\SEO\Memoizers\Meta_Tags_Context_Memoizer->for_current_page()
    #9 /var/www/wp/wp-content/plugins/wordpress-seo/src/integrations/front-end/wp-robots-integration.php(73): Yoast\WP\SEO\Integrations\Front_End\WP_Robots_Integration->get_robots_value()
    #10 /var/www/wp/wp-includes/class-wp-hook.php(303): Yoast\WP\SEO\Integrations\Front_End\WP_Robots_Integration->add_robots()
    #11 /var/www/wp/wp-includes/plugin.php(189): WP_Hook->apply_filters()
    #12 /var/www/wp/wp-includes/robots-template.php(32): apply_filters()
    #13 /var/www/wp/wp-includes/class-wp-hook.php(303): wp_robots()
    #14 /var/www/wp/wp-includes/class-wp-hook.php(327): WP_Hook->apply_filters()
    #15 /var/www/wp/wp-includes/plugin.php(470): WP_Hook->do_action()
    #16 /var/www/wp/wp-includes/general-template.php(3015): do_action()
    #17 /var/www/wp/wp-content/themes/go/header.php(20): wp_head()
    #18 /var/www/wp/wp-includes/template.php(770): require_once('...')
    #19 /var/www/wp/wp-includes/template.php(716): load_template()
    #20 /var/www/wp/wp-includes/general-template.php(48): locate_template()
    #21 /var/www/wp/wp-content/themes/go/page.php(10): get_header()
    #22 /var/www/wp/wp-includes/template-loader.php(106): include('...')
    #23 /var/www/wp/wp-blog-header.php(19): require_once('...')
    #24 /var/www/wp/index.php(17): require('...')
    #25 {main}
      thrown in /var/www/wp/wp-includes/wp-db.php on line 2056

    After some research I suspect the issue is related to this: https://wiki.php.net/rfc/mysqli_default_errmode

    Plugin Support Suwash Kunwar

    (@suascat_wp)

    @cf00 @roundaboutweb @eugenevanderhost

    We highly appreciate your patience while we investigated and confirmed the issue.

    As per feedback received from our developers, at the moment we support PHP 8 but we do work towards PHP 8.1 compatibility. WordPress and Yoast are not yet fully compatible yet with it.

    Once the specific version is supported all of our customers and users will be informed, via our newsletter and changelog updates.

    The current workaround would be to downgrade PHP to v8.0 version.

    If you are interested in learning more about PHP 8 compatibility, please have a look at our 2020 WordPress and PHP 8 compatibility reports.

    Also, you can find the opened GH issue here. We always encourage our users to contribute to our plugin, not just by submitting issues but also by submitting patches. If you (or someone else) decide(s) to write a patch for this issue, we’ll gladly include it after some code review.

    We understand that this might not be the answer you were expecting, but we hope that you can understand.

    • This reply was modified 1 year ago by Suwash Kunwar. Reason: typo
    Plugin Support devnihil

    (@devnihil)

    We are going ahead and marking this issue as resolved due to inactivity. If you require any further assistance please create a new issue.

    Ciprian

    (@butterflymedia)

    This issue is not resolved! WordPress works perfectly on PHP 8.1, but Yoast SEO does not. I am getting the same error as the OP on 6 websites.

    247AppsStudio

    (@it4craigslist)

    would love to see if there’s a solution for those errors in this topic:
    https://ibb.co/jr6S38N
    https://ibb.co/LrzNDD9

    I have the same error as the people above, everything works on php 8.1 except the Yoast SEO plugin. If you disable it, the site works fine, and if you enable it, the site does not work.

    Ciprian

    (@butterflymedia)

    They said they will release a fix in 17.9, the next version, but in the meantime, I moved away to another plugin, because I couldn’t leave client sites without an SEO solution.

    • This reply was modified 11 months ago by Ciprian.
Viewing 12 replies - 1 through 12 (of 12 total)
  • The topic ‘PHP 8.1 compatible?’ is closed to new replies.