humanmade / altis-core

Core Module for Altis
https://www.altis-dxp.com/
20 stars 4 forks source link

Running `composer dump-autoload` causes a PHP Fatal error #343

Closed ntwb closed 2 years ago

ntwb commented 3 years ago

Steps to reproduce:

  1. On a clean Altis v8 install add a custom module with an entry point file based on loading custom module docs here
  2. Run composer dump-autoload
  3. Open https://subdomain.altis.dev/wp-admin/

Reproduced on both ARM64 & Intel Mac installs of the same project.

Site does not load and the following PHP Fatal is displayed:

Fatal error: Uncaught Error: Class 'Yoast\WP\Duplicate_Post\Admin\Options_Page' not found in /usr/src/app/vendor/yoast/duplicate-post/duplicate-post-options.php:21 
Stack trace: 
#0 /usr/src/app/vendor/yoast/duplicate-post/duplicate-post-admin.php(13): require_once() 
# humanmade/altis-seo#1 /usr/src/app/vendor/yoast/duplicate-post/duplicate-post.php(104): include_once('/usr/src/app/ve...') 
# humanmade/altis-seo#2 /usr/src/app/vendor/altis/workflow/inc/namespace.php(67): require_once('/usr/src/app/ve...') 
# humanmade/altis-seo#3 /usr/src/app/wordpress/wp-includes/class-wp-hook.php(292): Altis\Workflow\load_duplicate_posts('') 
# humanmade/altis-seo#4 /usr/src/app/wordpress/wp-includes/class-wp-hook.php(316): WP_Hook->apply_filters(NULL, Array) 
# humanmade/altis-seo#5 /usr/src/app/wordpress/wp-includes/plugin.php(484): WP_Hook->do_action(Array) 
# humanmade/altis-seo#6 /usr/src/app/wordpress/wp-settings.php(358): do_action('muplugins_loade...') 
# humanmade/altis-seo#7 /usr/src/app/wp-config.php(80): require_once('/usr/src/app/wo...') 
# humanmade/altis-analytics#4 /usr/src/app/wordpress/wp-load.php(42): require_once('/usr/src/app/wp...') 
# humanmade/altis-seo#9 /usr/src/app/wordpress/wp-admin/admin.php(34): require_once('/usr/src/app/wo...') 
# humanmade/altis-seo#10 /usr/src/app/wordpress/wp-admin/index.php(10): require_once('/usr/src/app/wo...') 
# humanmade/altis-seo#11 {main} thrown in /usr/src/app/vendor/yoast/duplicate-post/duplicate-post-options.php on line 21
Fatal error: Uncaught Error: Class 'Yoast\WP\Duplicate_Post\Admin\Options_Page' not found in /usr/src

Acceptance criteria:

roborourke commented 2 years ago

As far as I can tell running composer dump-autoload ends up skipping all 2nd level dependencies that are not the standard type e.g. wordpress-plugin or wordpress-muplugin.

As a temporary work around you can use composer install to regenerate autoload files for now.