🇺🇸United States @pheski

Account created on 13 August 2016, over 8 years ago
#

Recent comments

🇺🇸United States pheski

1. Check server logs to see where/why the error occurs.

2.

You can temporary activate display of all errors by adding the next lines in your sites/default/settings.php file:

// Show all errors.
$config['system.logging']['error_level'] = 'verbose';
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
🇺🇸United States pheski

My understanding (others here know more and should correct me if  get it wrong) is that a global flag applies system wide (or at least to multiple packages) and a local flag applies only to a specific package. So -v for verbose is built into the Unix command line and will apply to all (or almost all) packages  while something like cache-clear is a Drush command and works only within Drush.

Another way these terms are used is for installs rather than commands. One can install Composer globally on a server or locally within one project on that server. If it is installed globally it can be used with all projects on that server. If it is installed locally within a project, it can only be used for that project.

🇺🇸United States pheski

The Drupal Slack channel, which I find tends to provide me with more help than the forums here. (Note - I still use the forums here.)

https://www.drupal.org/join-slack to request an invitation

🇺🇸United States pheski

Are sections covering, for example:

generate

Flags are a kind of option or argument, negative by default. -d is debug. -v is verbose.  I hope that helps.

🇺🇸United States pheski

...In settings.php.  You might have to add mytestsite as a trusted host.

🇺🇸United States pheski

Some communities have active users groups where one can find (and provide) support.

🇺🇸United States pheski
  • Verify that install.php was present and in the correct place in the codebase with the correct permisions?
  • Verify that htaccess was present, correctly configured, and with the correct permissions?

Beyond that, I don't have any thoughts.

🇺🇸United States pheski

Common causes of 500 error are file location or permissions (e.g., server cannot find or access install.php) or incorrectly configured htaccess, but...

Still don't know:

  • How did code base get on server? Did you use composer to do it (composer create-project drupal/recommended-project my_site_name_dir) or did you upload a tar.gz and then exgtract the codebase?
  • Do you have an empty database?

Did you review and follow either of these sets of directions?

https://www.drupal.org/docs/getting-started/installing-drupal

https://www.drupal.org/docs/user_guide/en/installation-chapter.html

🇺🇸United States pheski

...would help identify the issue. What steps during install? What database and version, what php version?  I don't understand what you mean by both using composer and downloading tar.gz? Do you mean you tried two different approaches or tired using both composer and a tarball?

🇺🇸United States pheski

DDEV has a pretty active support community ( > 1600 members) on Discord. Randy Fay who maintains DDEV is active there. DDEV has debugging tools.

I'd urge you to post your problem on Discord. If it is actually a DDEV problem, that is your best source of help. They are also excellent at helpibng you isolate problems originating outside the DDEV realm and pointing to solutions.

DDEV on Discord:  https://discord.gg/5wjP76mBJD

🇺🇸United States pheski

Note: I am using 6.0.5, but that option was not something I could select when starting the issue.

🇺🇸United States pheski

Is there an open source alternative available? Building one myself is far beyond my capabilities...

TIA

🇺🇸United States pheski

I'm looking forward to a version that fixes this error. I'm using CleanTalk 9.3.0 on Drupal 10.1.6.

🇺🇸United States pheski

Turns out my initial speculation was correct - it was related to a problem with ownership/permission on directories and files.  Once I correct this, both the absence of icons in the ckedtor configuration process and the absence of wysiwyg tool bars when adding content were no longer problems.

It was quite a process figuring it out: using a different computer and using two different browsers with no etensions meant not a browser problem. Creating a new local ddev site with no content and no added modules worked fine on my local ddev site but not when I uploaded it to production. Creating a brand new site on a sandbox domain on my host using the tar GUI gave me an install that worked fine.  Comparing htaccess, codebase (Beyond Compare is wonderful) showed no differences. However, directories and files had major differences. So on my local install (after backing up codebase and database) I ran these two in terminal:

  • $ find . -type d -exec chmod g+w {} \; 
  • $ find . -type f -exec chmod 664 {} \;

...and then used rsynch to push the codebase to production.  Voila, ckeditor works.

I still do not know/understand:

  • How the permissions got changed on my local install in the first place. The timeline says it happened when I clones my 9.5 production site locally and u;grade to 10.6.1.  I had some issues with the MacOS tar not playing nicely with the host's GNU based tar and had to switch to gtar on my Mac. I wonder if, in that process, I inadvertently changed the permissions. Or if something in ddev changed it?
  • What directories/files I should (and shouldn't) change and to what. There are way too many to do this manually.
🇺🇸United States pheski

I am not sure if this is the same issue or a separate issue. I upgraded 2 sites from Drupal 9.5.11 to 10.1.6 and got a warning related to Token 1.13:

Warning: Undefined array key “name” in Drupal\token\Token->prepareMultisort() (line 89 of modules/contrib/token/src/Token.php. Here is the full warnibng:

Drupal\token\Token->prepareMultisort(Array) (Line: 60)
Drupal\token\Token->getInfo() (Line: 94)
token_get_token_problems() (Line: 16)
token_requirements('runtime')
call_user_func_array(Object, Array) (Line: 409)
Drupal\Core\Extension\ModuleHandler->Drupal\Core\Extension\{closure}(Object, 'token') (Line: 388)
Drupal\Core\Extension\ModuleHandler->invokeAllWith('requirements', Object) (Line: 416)
Drupal\Core\Extension\ModuleHandler->invokeAll('requirements', Array) (Line: 109)
Drupal\system\SystemManager->listRequirements() (Line: 53)
Drupal\system\Controller\SystemInfoController->status()
call_user_func_array(Array, Array) (Line: 123)
Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}() (Line: 592)
Drupal\Core\Render\Renderer->executeInRenderContext(Object, Object) (Line: 124)
Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->wrapControllerExecutionInRenderContext(Array, Array) (Line: 97)
Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}() (Line: 181)
Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object, 1) (Line: 76)
Symfony\Component\HttpKernel\HttpKernel->handle(Object, 1, 1) (Line: 58)
Drupal\Core\StackMiddleware\Session->handle(Object, 1, 1) (Line: 48)
Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object, 1, 1) (Line: 106)
Drupal\page_cache\StackMiddleware\PageCache->pass(Object, 1, 1) (Line: 85)
Drupal\page_cache\StackMiddleware\PageCache->handle(Object, 1, 1) (Line: 48)
Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object, 1, 1) (Line: 51)
Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object, 1, 1) (Line: 51)
Drupal\Core\StackMiddleware\StackedHttpKernel->handle(Object, 1, 1) (Line: 704)
Drupal\Core\DrupalKernel->handle(Object) (Line: 19)

It goes away if I revert to Token 1.12

🇺🇸United States pheski
  • I upgraded my sites from 9.5 to 10.16 to see if that would help. It did not.
  • I created a brand new site locally with ddev, no old content or users and no added modules. ckeditor5 works fine locally but not when I push to production - as above. I think this rules out css or js or module conflict.
  • The page not found error suggests to me (with my limited knowledge) that either the reference to the page is wrong or the access permission is wrong - but I do not know how to check that.

Here are the browser console errors if that would be useful.

Browser Console Mode
Parent process only(Fast)Multiprocess(Slower)

<empty string> 2

TypeError: this._getNotificationElm(...) is null
    _removeCheckboxListener  resource://autofill/FormAutofillPrompter.sys.mjs:418
    eventCallback  resource://autofill/FormAutofillPrompter.sys.mjs:605
    PopupNotifications_fireCallback  resource://gre/modules/PopupNotifications.sys.mjs:1710
    notifications  resource://gre/modules/PopupNotifications.sys.mjs:718
    PopupNotifications_locationChange  resource://gre/modules/PopupNotifications.sys.mjs:686
    onLocationChange  chrome://browser/content/browser.js:5909
    callListeners  chrome://browser/content/tabbrowser.js:928
    _callProgressListeners  chrome://browser/content/tabbrowser.js:948
    _callProgressListeners  chrome://browser/content/tabbrowser.js:6486
    onLocationChange  chrome://browser/content/tabbrowser.js:6962
  PopupNotifications.sys.mjs:1713:15
    PopupNotifications_fireCallback  resource://gre/modules/PopupNotifications.sys.mjs:1713
    notifications  resource://gre/modules/PopupNotifications.sys.mjs:718
    PopupNotifications_locationChange  resource://gre/modules/PopupNotifications.sys.mjs:686
    onLocationChange  chrome://browser/content/browser.js:5909
    callListeners  chrome://browser/content/tabbrowser.js:928
    _callProgressListeners  chrome://browser/content/tabbrowser.js:948
    _callProgressListeners  chrome://browser/content/tabbrowser.js:6486
    onLocationChange  chrome://browser/content/tabbrowser.js:6962
<empty string> 2

Value must either: .allowed_extensions.0 must () => { let array = Array.from(choices, forceString); let n = array.length - 1; array[n] = `or ${array[n]}`; return `must either [${array.join(“, “)}]`; }, or contain the required “data” property  NativeManifests.sys.mjs:118
    _tryPath  resource://gre/modules/NativeManifests.sys.mjs:118
    AsyncFunctionNext self-hosted:852ExtensionError: No such native application com.extension.av.communication  ExtensionUtils.sys.mjs:48:5
    

ExtensionError  resource://gre/modules/ExtensionUtils.sys.mjs:48
    startupPromise  resource://gre/modules/NativeMessaging.sys.mjs:72

Value must either: .allowed_extensions.0 must () => { let array = Array.from(choices, forceString); let n = array.length - 1; array[n] = `or ${array[n]}`; return `must either [${array.join(“, “)}]`; }, or contain the required “data” property  NativeManifests.sys.mjs:118

🇺🇸United States pheski

When I try to configure Full HTML and pick CKEditor5 (the only other option is none) I get a warning that it will not work with Internet Explorer (which I am not using) and I get this in red:  

Text editor: You must configure the selected text editor. 

But I see no way to configure the text editor - in fact, I think that is what I am trying to do…

🇺🇸United States pheski

Clearing cache did not help. Disabling css and js aggregation made the site unusable.

🇺🇸United States pheski

The problem: I was suddenly unable to extract on my host any tar.gz files that I had created on my Mac. It turns out there is an explanation and several solutions. I share this here to save others the frustration I experienced.

Explanation: the host had upgraded my VPS server from Debian to Ubuntu, after which the tar BSD-based tar function on the Mac no longer played well with the GNU-based tar function on the host, related to various unknown extended keywords generated on the Mac.

Solutions:
(1) Easiest is to install and use gtar on the Mac. (I used Homebrew to do this.)
(2) Prepend the tar create command on the Mac with an environment variable: <COPYFILE_DISABLE=1 tar -cvzf  file_name.tar.gz file_name && echo success>
(3) Extract the tar.gz on the host with a warning flag: <tar -xvzf file_name.tar.gz --warning=no-unknown-keyword && echo success>

All three of these worked well for me, though I cannot guarantee they will work with all varieties and flavors of host software.

🇺🇸United States pheski

If your settings.php has this:

$settings['file_private_path'] = $app_root . '/../private';

Then you have to create the private directory at the same level as /web. The privatge directory and the files it contains are not visible to visitors to the site, for security reasons. The structure of your project is:

project
    /web (this is the directory where your actual public facing website lives)
        /themes
        /sites
        /profiles
        /modules
        (and more)
    /tmp
    /private (for security reasons this is outside your web root which is /web)
    /config   

Yes, you need an .htaccess file in your /private directory. Drupal will usually create that after you create the directory and update the database.

And files or directories that site visitors need to access (like pdfs they should see or be able to download) live UNDER your webroot (/web) in:

/web
    /sites
        /default
        /files

🇺🇸United States pheski

rfay does a fantastic job supporting ddev and helping folks solve problems through the DDEV discord channel. If you haven't solved this, I'd ask there.

https://discord.gg/kDvSFBSZfs

Production build 0.71.5 2024