For some reason, Wordpress admin is not loading all of the required scripts via load-scripts.php. This is causing the "Visual/Text" tabs to be missing from the text editor. The 'b', 'i', 'link', etc button are still there and functioning for the HTML editor. I have triple checked and all users are setup to use the visual editor.
Here is what load-scripts.php is loading on the broken site.
https://example.com/wp-admin/load-scripts.php?c=0&load[]=hoverIntent,common,admin-bar,heartbeat,autosave,suggest,wp-ajax-response,jquery-color,wp-lists,jquery-ui-mouse,jquery-ui-sortabl&load[]=e,postbox,tags-suggest,tags-box,underscore,word-count,post,editor-expand,thickbox,shortcode,backbone,wp-util,wp-backbone,media-m&load[]=odels,wp-plupload,mediaelement,wp-mediaelement,media-views,media-editor,media-audiovideo,mce-view,imgareaselect,image-edit,svg-p&load[]=ainter,wp-auth-check,jquery-ui-resizable,jquery-ui-draggable,jquery-ui-button,jquery-ui-dialog,jquery-ui-datepicker,quicktags,wp&load[]=link,media-upload,wp-embed&ver=4.8.2
And here is an example from a working site.
https://example.com/load-scripts.php?c=0&load[]=hoverIntent,common,admin-bar,heartbeat,autosave,suggest,wp-ajax-response,jquery-color,wp-lists,jquery-ui-mouse,jquery-ui-sortabl&load[]=e,postbox,tags-suggest,tags-box,underscore,word-count,post,editor-expand,thickbox,shortcode,backbone,wp-util,wp-backbone,media-m&load[]=odels,wp-plupload,mediaelement,wp-mediaelement,media-views,media-editor,media-audiovideo,mce-view,imgareaselect,image-edit,svg-p&load[]=ainter,wp-auth-check,jquery-ui-resizable,jquery-ui-draggable,jquery-ui-button,jquery-ui-dialog,jquery-ui-datepicker,editor,quick&load[]=tags,wplink,media-upload,wp-embed&ver=4.8.2
As you can see, 'editor' is missing for some reason. 'Editor' is also missing if I load the scripts separately by adding:
define('CONCATENATE_SCRIPTS', false);
Any input is greatly appreciated. Thanks.