We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 49646
    • 25 Posts
    Hi group,

    We are having a problem with 3 site migrated to a new server. Since the migration with clean installs, the sites randomly crash. Mostly when the clients edit a resource and save. The result eventually leads to the front end going down with 500 Errors. We need to hit the App Pools on the server to bring them back online.

    Has anyone seen this issue and have information on a resolution? Here are the specs and some Error Log read outs from a recent event
    I've a attached a screen shot of installed add-ins

    MODX Revolution 2.6.0-pl
    Windows Server 2016
    PHP 7.1.7
    mysql 5.0.12



    [11-Jan-2018 09:45:43 America/New_York] PHP Warning: include_once(D:\xxx-xxx\www): failed to open stream: Permission denied in D:\xxx-xxx\www\core\xpdo\xpdo.class.php on line 1881
    [11-Jan-2018 09:45:43 America/New_York] PHP Warning: include_once(): Failed opening 'D:/xxx-xxx/www/core/xpdo/om/mysql/xpdodriver.class.php' for inclusion (include_path='.;C:\php\pear') in D:\xxx-xxx\www\core\xpdo\xpdo.class.php on line 1881
    [11-Jan-2018 09:45:44 America/New_York] PHP Warning: include_once(D:\xxx-xxx\www\connectors): failed to open stream: Permission denied in D:\xxx-xxx\www\core\xpdo\xpdo.class.php on line 1881
    [11-Jan-2018 09:45:44 America/New_York] PHP Warning: include_once(): Failed opening 'D:/xxx-xxx/www/core/xpdo/om/mysql/xpdodriver.class.php' for inclusion (include_path='.;C:\php\pear') in D:\xxx-xxx\www\core\xpdo\xpdo.class.php on line 1881
    [11-Jan-2018 09:45:44 America/New_York] PHP Fatal error: Class 'modPrincipal' not found in D:\xxx-xxx\www\core\model\modx\moduser.class.php on line 40
    [11-Jan-2018 09:45:45 America/New_York] PHP Fatal error: Uncaught Error: Class 'xPDODriver_mysql' not found in D:\xxx-xxx\www\core\xpdo\xpdo.class.php:1884


    Stack trace:
    #0 D:\xxx-xxx\www\core\xpdo\xpdo.class.php(342): xPDO->getDriver()
    #1 D:\xxx-xxx\www\core\model\modx\modx.class.php(420): xPDO->__construct(NULL, NULL, NULL, Array, NULL)
    #2 D:\xxx-xxx\www\connectors\index.php(42): modX->__construct('', Array)
    #3 {main} thrown in D:\xxx-xxx\www\core\xpdo\xpdo.class.php on line 1884

    Thanks for any insight!

    Mike
      • 3749
      • 24,544 Posts
      It looks like xPDO is having permission trouble when trying to load its database driver:

      $loaded= include_once(XPDO_CORE_PATH . 'om/' . $this->config['dbtype'] . '/xpdodriver.class.php');


      Check the permission and ownership on the core/xpdo/om/ folder and the files and folders below it.

      The other errors could be cascading from that one. It's very odd that this would be intermittent, though.

      BTW, attaching images to forum posts doesn't work right now. You have to put the image somewhere else and link to it.
        Did I help you? Buy me a beer
        Get my Book: MODX:The Official Guide
        MODX info for everyone: http://bobsguides.com/modx.html
        My MODX Extras
        Bob's Guides is now hosted at A2 MODX Hosting
        • 49646
        • 25 Posts
        Thank you Bob! I'll have my server guy look at the permissions
          • 51131
          • 5 Posts
          {msjetboy's "server guy"} here
          That core/xpdo/om part of the tree, in the Windows file system is set as follows:

          Read & execute
          List folder contents
          Read

          The other Windows permissions:
          Full control, Write, Modify and Special permissions are not set.

          The above is the story about permissions thorughout the web site.

          Within the core tree itself, these sub-directories: cache, components, config, packages have been granted the additional Windows permissions: Modify and Write.

          Windows permissions are inherited downward throughout the site EXCEPT for www/core/config/config.inc.php
          Inheritance was broken on core, and all permissions were removed except Read and Read

          Other details:

          The "user" is a Windows Active Directory user.
          Each website instance has its own application pool and a dedicated the same Active Directory user set as its "Identify".

          The other basic application pool settings are:
          .NET CLR version: .NET CLR Version v4.030319 [other options: .NET CLR Version v2.0.50727 or No Managed Code
          Managaged pipeline mode: Integrated. [other option: Classic ]

          The mysql database is on a Linux server that is a separate vmware virtual.

          Within the core tree, the cache, components, config, packages sub-directories have been granted the additional permissions: Modify and Write. These trees still have inheritance enabled.

          Inheritance has been broken and write permission has been removed from config/core.inc.php.