Периодически повторяющаяся ошибка на всех страницах ресурсов, кроме главной, помогите исправить

MODX Revolution 2.7.2-pl
Ошибка ранее возникала и на MODX Revolution 2.7.1-pl

Использую Fenom, файловые шаблоны, чанки, сниппеты, плагины.

Перед возникновением ошибки сбрасывается сессия в админке и возникает ошибка. Раза 2-3 было на версии MODX Revolution 2.7.1-pl, в первй раз на т2.7.2-pl.
Ранее чистил кэш, удаляя все из каталога с кэшем и по прошествии какого-то времени ресурсы становились доступны и ошибка изчезала.
Обновился до версии 2.7.2, ошибки не было, а сейчас опять. Также почистил кэш и через некоторое время пропала ошибка.
Админка работает.

Вот такое выводится на фронтенде — на белом экране у всех ресурсов, кроме главной страницы:

Error 503
{$errorMessage}
"; exit(); } /* start output buffering */ ob_start(); /* Create an instance of the modX class */ $modx= new modX(); if (!is_object($modx) || !($modx instanceof modX)) { ob_get_level() && @ob_end_flush(); $errorMessage = 'MODX not installed. Install now?'; @include(MODX_CORE_PATH. 'error/unavailable.include.php'); header($_SERVER['SERVER_PROTOCOL']. ' 503 Service Unavailable'); echo "

Error 503

{$errorMessage}
"; exit(); } /* Set the actual start time */ $modx->startTime= $tstart; /* Initialize the default 'web' context */ $modx->initialize('web'); /* execute the request handler */ if (!MODX_API_MODE) { $modx->handleRequest(); }
Дмитрий
13 ноября 2019, 14:26
modx.pro
1 315
0

Комментарии: 7

Александр Туниеков
13 ноября 2019, 16:10
0
У MODX есть глюки с кешем. У меня вот при работе в админке на одном сайте периодически код в кеше плагина задваивается и сайт вылетает. Пока влазить во внутренности MODX по этой проблеме не решился. Админка там только мной и не часто используется. Ладно это лирика.
У Вас почему-то на странице вываливается часть кода файла index.php yadi.sk/i/TsEpmxrJtz5Mzg
По идее это проблемы настройки сервера php, а не MODX. Но почему тогда очистка кеша помогает не понятно.
Сделайте плиз скриншот страницы с ошибкой. И проверьте настройки сервера qaru.site/questions/3368/php-code-is-not-being-executed-instead-code-shows-on-the-page
    Дмитрий
    13 ноября 2019, 17:01
    0
    Про часть кода с index.php я уже понял. Сразу туда заглянул, но не понял почему может быть такое. После твоих разъяснений стало понятно. Хотя возможно не в конфиге сервера дело.

    Хотя не исключено, сейчас вспомнил, что на предыдущем сервере такого не было. Но там случался какой-то др. глюк, хостер перенес мой аккаунт на др. сервер. Может на этом сервере теперь уже другой глюк случается.

    Вот скриншот:
      Александр Туниеков
      13 ноября 2019, 17:13
      0
      Хм… Это не часть кода, а весь код возвращается как HTML yadi.sk/i/YVv8sFEM7hGyFQ
      У Вас Apache вообще? В .htaccess что? И что за хостер?
        Дмитрий
        13 ноября 2019, 17:37
        0
          Александр Туниеков
          13 ноября 2019, 17:42
          +1
          Ну хостера не знаю. А остальные вопросы?
          Прям не знаю, толи злиться, толи смеяться. Просят помощи, а нужную инфу не дают.
            Дмитрий
            13 ноября 2019, 19:07
            0
            Выложил конфигурацию сюда

            Вот .htaccess
            Options -Indexes
            
            RewriteEngine On
            RewriteBase /
            
            # Удаляем ненужные HTTP заголовки
            Header unset X-Powered-By
            Header unset Pragma
            Header unset Expires
            Header unset Server
            #Header unset Cache-Control: no-store, no-cache, must-revalidate
            #Header unset Cache-Control
            
            # Добавляем нужные HTTP заголовки
            #Header append Cache-Control: max-age=10800
            #Header append Content-Encoding: gzip
            Header append Vary: Accept-Encoding,User-Agent
            #Header append Vary: Accept-Encoding
            
            # Кэширование статики
            #Header set Cache-Control "max-age=2592000"
            
            ErrorDocument 403 /403.html
            
            ErrorDocument 404 /404.html
            
            ###############################################
                       #### РЕДИРЕКТЫ #####
            ###############################################
            
            # Редирект c без слэша на со слэшем 
            #RewriteCond %{REQUEST_URI} !\?
            #RewriteCond %{REQUEST_URI} !\&
            #RewriteCond %{REQUEST_URI} !\=
            #RewriteCond %{REQUEST_URI} !\.
            #RewriteCond %{REQUEST_URI} !\/$
            #RewriteRule ^(.*[^\/])$ /$1/ [R=301,L]
            
            # Rewrite domain.com -> domain.com/
            #RewriteCond %{REQUEST_FILENAME} !-f
            #RewriteCond %{REQUEST_URI} !\..{1,10}$
            #RewriteCond %{REQUEST_URI} !(.*)/$
            #RewriteRule ^(.*)$ https://mysite.ru/$1/ [L,R=301]
            
            # Редирект с тега с get параметром
            RewriteCond %{QUERY_STRING} ^tag=*
            RewriteRule ^(.*)$  /$0? [R=301,L]
            
            # Редирект с безслэша на слэш при пагинации
            RewriteCond %{REQUEST_URI} ^(.*/)page/(\d+)$
            RewriteRule ^ %1page\/%2\/ [R=301,L]
            
            
            # Редирект со слэша на без слэша
            #RewriteRule ^(.*)\/$ $1 [R=301,L]
            
            ### Редирект на правильную страницу при переходе по битой ссылке с неправильным окончанием после точки
            ### Но вначале 404, если после .html стоит точка и возможно идут какие-то символы, например так: .html.*
            #RewriteCond %{REQUEST_URI} ^(.*)\.html\.(.+)*
            #RewriteRule ^(.*)$ [R=404]
            
            #RewriteCond %{REQUEST_FILENAME} !-f
            #RewriteCond %{REQUEST_FILENAME} !-d
            #RewriteCond %{REQUEST_URI} ^(.*)\.html(.+) [OR]
            #RewriteCond %{REQUEST_URI} ^(.*)\.htm$ [OR]
            #RewriteCond %{REQUEST_URI} ^(.*)\.ht$ [OR]
            #RewriteCond %{REQUEST_URI} ^(.*)\.h$ [OR]
            #RewriteCond %{REQUEST_URI} ^(.*)\.$
            #RewriteRule ^(.*)\.(.*) $1.html [R=301,L]
            
            
            
            # Редирект с http на https
            RewriteCond %{SERVER_PORT} !^443$
            RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
            
            # Редирект с www.domain.com -> domain.com - используется с плагином SEO Strict URL
            # RewriteCond %{HTTP_HOST} .
            RewriteCond %{HTTP_HOST} ^www.(.*)$ [NC]
            RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
            
            ### Редиректы с index.php или index.html на сайт
            RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.(php|html)\ HTTP/
            RewriteRule .* / [R=301,L]
            
            
            # Правильно перепишите защищенные запросы, чтобы предотвратить предупреждения SSL-сертификата, например. предотвращать 
            # https://www.domain.com, когда ваш сертификат разрешает только https://secure.domain.com
            #RewriteCond %{SERVER_PORT} !^443
            #RewriteRule (.*) https://example-domain-please-change.com/$1 [R=301,L]
            
            
            
            # Перенаправить менеджера в определенный домен - не переименовывать файл ht.access
            # в папке менеджера, чтобы использовать это правило
            #RewriteCond %{HTTP_HOST} !^example-domain-please-change\.com$ [NC]
            #RewriteCond %{REQUEST_URI} ^/manager [NC]
            #RewriteRule ^(.*)$ https://example-domain-please-change.com/$1 [R=301,L]
            
            
            
            # Параметр Friendly URLs
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteCond %{REQUEST_FILENAME} !-d
            RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
            
            
            
            # Make sure .htc files are served with the proper MIME type, which is critical
            # for XP SP2. Un-comment if your host allows htaccess MIME type overrides.
            
            #AddType text/x-component .htc
            
            
            
            # If your server is not already configured as such, the following directive
            # should be uncommented in order to set PHP's register_globals option to OFF.
            # This closes a major security hole that is abused by most XSS (cross-site
            # scripting) attacks. For more information: http://php.net/register_globals
            #
            # To verify that this option has been set to OFF, open the Manager and choose
            # Reports -> System Info and then click the phpinfo() link. Do a Find on Page
            # for "register_globals". The Local Value should be OFF. If the Master Value
            # is OFF then you do not need this directive here.
            #
            # IF REGISTER_GLOBALS DIRECTIVE CAUSES 500 INTERNAL SERVER ERRORS :
            #
            # Your server does not allow PHP directives to be set via .htaccess. In that
            # case you must make this change in your php.ini file instead. If you are
            # using a commercial web host, contact the administrators for assistance in
            # doing this. Not all servers allow local php.ini files, and they should
            # include all PHP configurations (not just this one), or you will effectively
            # reset everything to PHP defaults. Consult www.php.net for more detailed
            # information about setting PHP directives.
            
            #php_flag register_globals Off
            
            
            
            # For servers that support output compression, you should pick up a bit of
            # speed by un-commenting the following lines.
            
            #php_flag zlib.output_compression On
            #php_value zlib.output_compression_level 5
            
            
            
            # The following directives stop screen flicker in IE on CSS rollovers. If
            # needed, un-comment the following rules. When they're in place, you may have
            # to do a force-refresh in order to see changes in your designs.
            
            #ExpiresActive On
            #ExpiresByType image/gif A2592000
            #ExpiresByType image/jpeg A2592000
            #ExpiresByType image/png A2592000
            #BrowserMatch "MSIE" brokenvary=1
            #BrowserMatch "Mozilla/4.[0-9]{2}" brokenvary=1
            #BrowserMatch "Opera" !brokenvary
            #SetEnvIf brokenvary 1 force-no-vary
              Александр Туниеков
              13 ноября 2019, 23:08
              0
              Вообщем в чем проблема не разберусь :-(. Когда возникнет ошибка попробуете правила отключать. Например это
              ### Редиректы с index.php или index.html на сайт
              RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.(php|html)\ HTTP/
              RewriteRule .* / [R=301,L]
              Если вдруг от этого заработает, будет больше инфы куда копать.
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    7