• Resolved PieterCM

    (@pietercm)


    I face this hanging-issue. Nothing happens when clicking Appearance -> Editor

    Further details:

    1. Cleared the browser cache, no effect
    2. Site-health passes all tests except “Page cache is not detected but the server response time is OK”
    3. Using IIS on Windowss 2019.
    4. The issue shows on all Twenty Twenty xxx themes.
    5. F12 shows: JQMIGRATE: Migrate is installed, version 3.4.1

    Any help would be great! I’m completely stuck for some days with this… I bet it’s an IIS issue… but I can’t get it solved…

Viewing 14 replies - 1 through 14 (of 14 total)
  • Hi @pietercm,

    It sounds like a frustrating situation! From the information you’ve provided, it seems like the issue may indeed be related to the server environment (IIS on Windows 2019). Since you’ve already cleared the cache and confirmed that your site passes most of the Site Health tests, here are a few additional steps you could try:

    1. Check File Permissions: Ensure that your theme files have the correct file permissions. Sometimes, improper permissions on your server can cause such issues.
    2. Disable Plugins Temporarily: Try disabling all plugins and see if the issue persists. If the editor works after disabling plugins, re-enable them one by one to identify any potential conflicts.
    3. Switch to a Default Theme: Try switching to a default theme like Twenty Twenty-Three to check if the issue is specific to the theme you’re using.
    4. Check for JavaScript Errors: Since you mentioned JQMIGRATE being loaded, open the browser console (F12) and check if there are any errors that may be blocking the editor.
    5. Update WordPress and Plugins: Ensure that both WordPress core and all installed plugins are up to date. Outdated files can sometimes cause conflicts with newer features like the Site Editor.

    If these steps don’t resolve the issue, it might be worth investigating further with your hosting provider or checking if there’s an IIS configuration setting causing the problem.

    Hope this helps, and good luck!

    Best regards,
    Mohd Javed

    A few things to check

    • Verify that the appropriate PHP version is configured correctly in IIS.
    • Check IIS logs for any errors related to the WordPress admin requests.
    • Ensure proper file permissions are set for the WordPress directory.
    Thread Starter PieterCM

    (@pietercm)

    Thank you for helping me out.

    1. IIS is on PHP 8.3.10, I also tested PHP 7.4, same problem
    2. MySQL is on 8.0.28
    3. Using Chrome
    4. I have zero plugins and only 1 theme (Twenty twenty four) installed.

    I have meantime:

    1. Changed the anonymous user from IUSR to an administrator account in IIS
    2. Had a look at the logfiles. No 404 or 500, only 200 and 304 status codes
    3. Disabled all output caching for that site in IIS
    4. Changed the application pool to recycle every single request
    5. None of that helps.

    As for JavaScript errros, I get loads of warnings like these:
    Third-party cookie will be blocked in future Chrome versions as part of Privacy Sandbox.

    I do get 1 JavaScript error as well:
    [Report Only] Refused to frame ‘https://ogs.google.com/’ because an ancestor violates the following Content Security Policy directive: “frame-ancestors ‘self'”.

    And lots of these too:
    [Violation] Added non-passive event listener to a scroll-blocking ‘mousewheel’ event. Consider marking event handler as ‘passive’ to make the page more responsive. See https://www.chromestatus.com/feature/5745543795965952

    I have no idea if all that matters… Thanks again for your help.

    Thread Starter PieterCM

    (@pietercm)

    Forgot to mention: I’m on 6.6.1, and I reinstalled it several times, just to be sure…

    Moderator James Huff

    (@macmanx)

    Do you have any issue with all browser extensions temporarily switched off? Especially ad/tracker blockers, sometimes those can get overzealous.

    If that worked, switch them on one-by-one until you find the cause of the problem.

    If that didn’t work, do you have the same issue under Firefox?

    And, if that didn’t work, are you able to downgrade to PHP 8.2.23 or 8.1.29 to rule-out an issue with PHP 8.3?

    Thread Starter PieterCM

    (@pietercm)

    The issue also shows in PHP 8.1.29 and in FireFox

    I get these PHP errors though:

    [06-Sep-2024 06:54:15 UTC] PHP Warning: PHP Startup: Unable to load dynamic library ‘php_gd2.dll’ (tried: C:\Program Files\PHP\v8129\ext\php_gd2.dll (The specified module could not be found), C:\Program Files\PHP\v8129\ext\php_php_gd2.dll.dll (The specified module could not be found)) in Unknown on line 0
    [06-Sep-2024 06:54:15 UTC] PHP Warning: PHP Startup: Unable to load dynamic library ‘php_xmlrpc.dll’ (tried: C:\Program Files\PHP\v8129\ext\php_xmlrpc.dll (The specified module could not be found), C:\Program Files\PHP\v8129\ext\php_php_xmlrpc.dll.dll (The specified module could not be found)) in Unknown on line 0

    Does WP depend on php_gd2 and / or php_xmlrpc?

    Moderator James Huff

    (@macmanx)

    Huh, I’ve never seen those errors, so I do suspect a PHP misconfiguration.

    WordPress does need GD and XML-RPC, so they recompiling with those libraries.

    Thread Starter PieterCM

    (@pietercm)

    I have noticed something.

    The script https:/xxx/wp-admin/site-editor.php performs a lot of api-fetches (a few dozens). In (my) IIS, these fetches stop after 6 or 7 and then give up on it. PHP on my IIS seems to be configured to block very fast consecutive api-fetches.

    Many thanks. I keep on searching…

    Thread Starter PieterCM

    (@pietercm)

    Some more interesting facts.

    https:/xxx/wp-admin/site-editor.php performs nearly 2000 api fetches

    My IIS gives up on it after +/ 500… (probably for security reasons).

    Moderator James Huff

    (@macmanx)

    It does need to fetch and display every component of your site in order to edit it.

    That seems like a really limited PHP config. Most standard server configs can handle all of that just fine.

    Thread Starter PieterCM

    (@pietercm)

    I tested WP on my localhost with IIS 10. There the issue does not show. So it’s not an IIS issue. It must be related to network connectivity, a firewall, or AWS, where my server is located.

    Many thanks James and Jamie. I appreciate your help!

    Thread Starter PieterCM

    (@pietercm)

    oh man, I found the issue

    IIS PHP Manager added lots of handlers in web.config. I removed them all, except:

     <handlers>
    <clear/>
    <add name="php-8.3.11" path="*.php" verb="*" modules="FastCgiModule" scriptProcessor="C:\Program Files\PHP\v8311\php-cgi.exe" resourceType="Either" requireAccess="Script"/>
    <add name="StaticFile" path="*" verb="*" modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule" resourceType="Either" requireAccess="Read"/>
    </handlers>

    That solved the issue.

    Thread Starter PieterCM

    (@pietercm)

    I found out that the solution is to change your web.config:

    <handlers>
    <add name="php-8.3.11" path="*.php" verb="GET,HEAD,POST" modules="FastCgiModule" scriptProcessor="C:\Program Files\PHP\v8311\php-cgi.exe" resourceType="Either" requireAccess="Script" />
    </handlers>

    to

    verb="GET,HEAD,POST,OPTIONS"

    Apparently, WordPress uses the OPTIONS verb for its site_editor.php. IIS does not automatically add that verb to its web.config when enabling PHP usingt he PHP manager.

    Apart from that, WP works fine on IIS (using PHP 8.3.11)

    robaxxx

    (@robaxxx)

    Bloody hell… thanks for figuring this one out Pieter!
    ROb

Viewing 14 replies - 1 through 14 (of 14 total)
  • You must be logged in to reply to this topic.