Grav-plugin-admin: الانحدار: خطأ Ajax في ngnix

تم إنشاؤها على ١٢ أكتوبر ٢٠١٧  ·  42تعليقات  ·  مصدر: getgrav/grav-plugin-admin

مرحبًا ، بعد التحديث إلى 1.6.3 (والتحديث إلى 1.3.5) لدي مشكلات في لوحة الإدارة: يبدو أن الموقع يعمل بشكل جيد على الرغم من أنه لن يعمل قبل التحديث على أي حال. نظرًا لأنني بحاجة إلى معرض ، فأنا بحاجة أيضًا إلى التعامل مع هذا الخطأ لأنني متأكد من أنه لا يوجد رابط بينهما.
شكرا!

`Fetch Failed:
can't convert undefined to object

value/<<strong i="7">@http</strong>://lelogisencorse.ddns.net/user/plugins/admin/themes/grav/js/admin.min.js?1451599962:5:23728
o/<<strong i="8">@http</strong>://lelogisencorse.ddns.net/user/plugins/admin/themes/grav/js/admin.min.js?1451599962:4:27913

Invalid AJAX response.` 
bug more info needed

التعليق الأكثر فائدة

حسنًا ، سنقوم بإعادة إصدار Grav الآن بهذا الإصلاح.

ال 42 كومينتر

لا يمكنني وضع الوسائط على الصفحات عبر لوحة الإدارة: بمجرد حفظها ، تختفي بعد التحديث. إنه يعمل بشكل جيد عن طريق وضع الصور في الدليل ، ولكن لا يظهر أي منها في صفحة المسؤول. هم على الموقع

لا أستطيع الخروج بعد الآن

لدي مشكلة مماثلة بعد تحديث المكونات الإضافية. إنه يحذر عند النقر فوق الزر المحفوظ.
screen shot 2017-10-12 at 2 39 13 pm

هل يمكنكم يا رفاق تقديم بعض التفاصيل المتعلقة بخادم الويب وإصدار php؟

نعم أنا أيضًا ، موقع جديد تمامًا وقمت بتحديثه بغباء إلى 1.3.5 الآن جميع أنواع أخطاء Ajax. كما لا يمكن حتى تسجيل الخروج من المسؤول يستمر في إعطاء "رمز أمان غير صالح". آمل أن يتم إصلاحه قريبًا.

تضمين التغريدة

إصدار الخادم nginx: nginx / 1.12.1

PHP 7.0.22-0ubuntu0.16.04.1 (CLI) (NTS)
حقوق النشر (c) 1997-2017 The PHP Group
Zend Engine v3.0.0 ، حقوق الطبع والنشر (c) 1998-2017 Zend Technologies
مع Zend OPcache v7.0.22-0ubuntu0.16.04.1 ، حقوق الطبع والنشر (c) 1999-2017 ، بواسطة Zend Technologies

لا تزال المواقع الأخرى تشغل 1.3.4 من Grav جميعها تعمل بنسبة 100٪

screen shot 2017-10-12 at 4 31 28 pm

screen shot 2017-10-12 at 4 44 08 pm

screen shot 2017-10-12 at 4 45 06 pm

يؤدي النقر فوق أي من عناصر القائمة الموجودة على اليسار إلى ظهور خطأ Ajax

راجع للشغل ، هل يمكنكم مساعدتي أولاً عن طريق النسخ الاحتياطي / نسخ ملف system/src/Grav/Common/Uri.php ثم محاولة إعادة الإصدار من Grav 1.3.4: https://github.com/getgrav/grav/blob/ 1.3.4 / system / src / Grav / Common / Uri.php

إذا كان هذا يفرزها ، فيمكننا تضييق الأمور. لقد قمنا ببعض إعادة البناء في هذا الفصل وأعتقد أن هذا هو ما يؤدي إلى مشاكلك.

rhukster يمكنني أن أؤكد أن هذا يعمل على إصلاح المشكلة

لا يزال من المفيد معرفة معلومات البيئة الخاصة بك لأنني لا أستطيع تكرار ذلك في تثبيتات الاختبار المحلية الخاصة بي.

rhukster قضية أخرى لإضافتها هنا. تخفيض السعر البسيط لا يعمل أيضًا.

<center>![](motsepe-commercial-photography-projects-logo.jpg)</center>

يُعرض على النحو التالي:

screen shot 2017-10-12 at 5 04 06 pm

واستخدام custom.css في المادة المضادة التي تحتوي على سطر واحد فقط بداخلها .centerimage { display: block; margin: 0 auto; }

إذا قمت بعمل ![](motsepe-commercial-photography-projects-logo.jpg){.centerimage} فسيتم عرض الصفحة على النحو التالي

screen shot 2017-10-12 at 5 06 07 pm

rhukster بالضبط ما الذي تحتاج إلى معرفته من

هذه هي أشياء IMG / markdown ليست في الواقع أي شيء متعلق بهذا ، هل هذه مشكلة في تخفيض السعر الإضافي؟ هذا ليس تخفيض السعر المنتظم لأنه لا يمكنك وضع علامات التخفيض داخل علامات HTML مع تخفيض منتظم. أفضل طريقة لإصلاح ذلك هي:

![](motsepe-commercial-photography-projects-logo.jpg?classes=centerimage)
  • خادم الويب (apache / nginx) ، إذا كان nginx ، ملف تهيئة خادم الويب.
  • نسخة PHP

لتبدأ

شكرًا @ rhukster ولكن هذا كان يعمل سابقًا بشكل مثالي على 1.3.4 (لا يزال) أي. إضافة الفصل في النهاية من هذا القبيل.

لقد قدمت هذه المعلومات في وقت سابق

إنجين إكس 1.12.1

PHP 7.0.22-0ubuntu0.16.04.1 (CLI) (NTS)
حقوق النشر (c) 1997-2017 The PHP Group
Zend Engine v3.0.0 ، حقوق الطبع والنشر (c) 1998-2017 Zend Technologies
مع Zend OPcache v7.0.22-0ubuntu0.16.04.1 ، حقوق الطبع والنشر (c) 1999-2017 ، بواسطة Zend Technologies

nginx.conf

user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;

events {
    worker_connections 1024;
    multi_accept on;
    use epoll;
}

http {

    ##
    # Basic Settings
    ##

    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    keepalive_timeout 90s;
    keepalive_requests 1000;
    server_tokens off;
    client_body_buffer_size 32k;
    client_header_buffer_size    1k;
    client_max_body_size 50M;
    types_hash_max_size 2048;
    large_client_header_buffers 4 16k;
    variables_hash_max_size 2048;
    variables_hash_bucket_size 1024;

    include /etc/nginx/mime.types;
    default_type application/octet-stream;


    # Our request limiter zone for wp-login attacks
    limit_req_zone $binary_remote_addr zone=wp-login:10m rate=1r/s;

    # Add FastCGI caching
    # https://www.nginx.com/blog/9-tips-for-improving-wordpress-performance-with-nginx/
    # Set Caching Zones - I am keeping these separate for now - easier to purge and control

    open_file_cache                 max=10000 inactive=5m;
    open_file_cache_valid           1m;
    open_file_cache_min_uses        1;
    open_file_cache_errors          on;

    fastcgi_cache_key "$scheme$request_method$host$request_uri";
    fastcgi_cache_use_stale error timeout invalid_header updating http_500;

    fastcgi_cache_path /var/cache/nginx/general levels=1:2 keys_zone=GENERAL:100m inactive=100m;

    ##
    # Logging Settings
    ##

    log_format  custom  '$remote_addr - $http_x_forwarded_for $remote_user $server_port [$time_local] "$request" '
                  '$status "$http_referer" "$http_user_agent" "$http_header"'
                  '"$body_bytes_sent" - "$gzip_ratio"';


    access_log /var/log/nginx/access.log main_ext;
    error_log /var/log/nginx/error.log warn;


    ##
    # Gzip Settings
    ##

    gzip on;
    gzip_disable "MSIE [1-6]\.";
    gzip_vary on;
    gzip_static on;
    gzip_min_length 20;
    gzip_proxied expired no-cache no-store private auth;
    gzip_comp_level 7;
    gzip_buffers 32 4k;
    gzip_http_version 1.1;
    gzip_types text/plain text/css application/json application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript;

    ##
    # Virtual Host Configs
    ##

    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*;
}

لقد أصلح ![](motsepe-commercial-photography-projects-logo.jpg?classes=centerimage) ذلك وتعلمت شيئًا جديدًا حول كيفية القيام بذلك ، شكرًا rhukster

هل يمكنكم يا رفاق الذين يواجهون هذه المشكلة فحص طلبات XHR لمكالمات Ajax؟

في الكروم ، هذا في أدوات مطور الويب -> الشبكة -> xhr

ثم أعد تحميل الصفحة وافحص عنوان URL للطلب والاستجابة

في الواقع ، إذا تمكن أي منكم من الاتصال بي مباشرة على Slack مع تفاصيل تسجيل الدخول إلى موقعك ، فسيساعد ذلك كثيرًا ويحظى بتقدير كبير.

mitchellkrogza هل يمكنك أيضًا تضمين إعدادات php nginx؟ على وجه التحديد PHP بت ، مثل:

    ## Begin - PHP
    location ~ \.php$ {
        # Choose either a socket or TCP/IP address
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        # fastcgi_pass 127.0.0.1:9000;

        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
    }
    ## End - PHP

ها أنت ذا:

    # BEGIN - Index

    # for subfolders, simply adjust:
    # `location /subfolder {`
    # and the rewrite to use `/subfolder/index.php`

    location / {
        try_files $uri @index;

    location /assets {
            gzip_static on;
            }
        }

    location <strong i="6">@index</strong> {
        try_files = /index.php?_url=$uri&$query_string;
    }

    ## END - Index

    ## BEGIN - Security

    # set error handler for these to the <strong i="7">@index</strong> location
    error_page 418 = @index;
    # deny all direct access for these folders
    location ~* /(\.git|cache|bin|logs|backup|tests)/.*$ { return 418; }
    # deny running scripts inside core system folders
    location ~* /(system|vendor)/.*\.(txt|xml|md|html|yaml|yml|php|pl|py|cgi|twig|sh|bat)$ { return 418; }
    # deny running scripts inside user folder
    location ~* /user/.*\.(txt|md|yaml|yml|php|pl|py|cgi|twig|sh|bat)$ { return 418; }
    # deny access to specific files in the root folder
    location ~ /(LICENSE\.txt|composer\.lock|composer\.json|nginx\.conf|web\.config|htaccess\.txt|\.htaccess) { return 418; }

    ## END - Security


    ## BEGIN - PHP

    location = /index.php {

        ## BEGIN - FastCGI caching

        fastcgi_cache_bypass $no_cache1 $no_cache2;
        fastcgi_no_cache     $no_cache1 $no_cache2;
        fastcgi_cache           GENERAL;
        fastcgi_cache_key       "$scheme$request_method$host$request_uri$sessionkey";
        fastcgi_cache_valid     200 30m;
        fastcgi_cache_valid     404 5m;
        fastcgi_cache_valid     any 1m;
        fastcgi_ignore_headers  "Cache-Control"
                                "Expires"
                                "Set-Cookie";

        fastcgi_cache_use_stale error
                                timeout
                                updating
                                http_429
                                http_500
                                http_503;

        fastcgi_cache_background_update on;

        ## END - FastCGI caching

        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;


        # Choose either a socket or TCP/IP address
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
        }

    ## END - PHP

        ## Begin - PHP Security

        # deny access to other .php-scripts
        location ~ \.php$ { 
            return 418; 
            }

        ## END - PHP Security

    ## BEGIN - Cache Purge Settings 

    location ~ /purge(/.*) {
        fastcgi_cache_purge GENERAL "$scheme$request_method$host$1";
    }   

    ## END - Cache Purge Settings   

أنا قادر على إعادة إظهار المشكلة ، ومحاولة تحديد موقع المشكلة الآن. شكرا للمساعدة التفصيلية!

لا توجد مشكلة ما أي وقت مضى.

لا أعرف ما إذا كان لا يزال مفيدًا ولكني قيد الاستخدام
ngnix
إصدار PHP 5.6.30-0 + deb8u1
على raspbian جيسي

كلا ، لم يكن ذلك. هل يمكنك المجيء إلى دردشة جراف؟ أحتاج مساعدتك لمعرفة ذلك.

أقوم بإعداد إعداد raspberry pi / nginx لمعرفة ما إذا كان بإمكاني نسخه أيضًا.

slyholborn كيف يبدو nginx.conf الخاص بك؟

أنشرها بمجرد أن أتمكن من الوصول إلى الخادم. أنا في العمل بدون مفاتيح ssh الخاصة بي ...

حسنًا ، لقد قمت بتضييقه إلى Nginx ، وعلى وجه التحديد الجزء try_files من التكوين. كان موقع الاختبار الخاص بي ببساطة:

location / {
        try_files $uri $uri/ /index.html /index.php;
}

ومع ذلك ، نجح هذا الأمر ، فقد تم تحديث ملف webserver-configs/nginx.conf (وربما تم تحديث أماكن أخرى بحيث يبدو كالتالي:

location / {
        try_files $uri $uri/ /index.php?_url=$uri&$query_string;
}

عندما أقوم بتغييره إلى هذا ، وأعد تشغيل nginx ، فإنه ينفصل عن خطأ ajax هذا. لذلك قمت بإزالة &$query_string في النهاية ، ونجح الأمر.

لذا فإن شيئًا متعلقًا بـ query_string في تكوين nginx والتغييرات / الإصلاحات التي أجريناها في فئة URI تؤدي إلى كسرها .. لم يتم إصلاحها بعد ، ولكن تضيق الأمور.

نعم ، لا تقم بإزالة جزء query_string! انها حقا بحاجة :)

يا هذا ليس الحل ، لكنه يضيق الأمور علينا .. فقط يمنحكم تعليقًا سريعًا يا رفاق. إذا كان بإمكانك اختبار أن إزالته "لا" يصلح مشكلات ajax الخاصة بك ، فنحن نحل نفس المشكلة التي تواجهها ... هذا كل شيء ..

معلومات من نظامي (Mac OS X El Capitan 10.11.6) أدناه. إذا كان المزيد من التفاصيل يمكن أن تساعد ، من فضلك اسأل.

$ php -v
PHP 7.1.9 (cli) (built: Sep  4 2017 10:20:56) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies

$ nginx -v
nginx version: nginx/1.12.1

/usr/local/etc/nginx/servers $ cat cbea.dev
server {
    #listen 80;
    index index.html index.php;

    ## Begin - Server Info
    root /Users/peracchi/development/grav/cbea.dev;
    server_name cbea.dev;
    ## End - Server Info

    ## Begin - Index
    # for subfolders, simply adjust:
    # `location /subfolder {`
    # and the rewrite to use `/subfolder/index.php`
    location / {
        try_files $uri $uri/ /index.php?_url=$uri&$query_string;
    }
    ## End - Index

    ## Begin - Security
    # deny all direct access for these folders
    location ~* /(\.git|cache|bin|logs|backup|tests)/.*$ { return 403; }
    # deny running scripts inside core system folders
    location ~* /(system|vendor)/.*\.(txt|xml|md|html|yaml|yml|php|pl|py|cgi|twig|sh|bat)$ { return 403; }
    # deny running scripts inside user folder
    location ~* /user/.*\.(txt|md|yaml|yml|php|pl|py|cgi|twig|sh|bat)$ { return 403; }
    # deny access to specific files in the root folder
    location ~ /(LICENSE\.txt|composer\.lock|composer\.json|nginx\.conf|web\.config|htaccess\.txt|\.htaccess) { return 403; }
    ## End - Security

    ## Begin - PHP
    location ~ \.php$ {
        fastcgi_pass 127.0.0.1:9000;

        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
    }
    ## End - PHP
}

نعم ، لدينا حل .. حل بديل لهذا الجزء _url=$uri (في فئة Uri.php) ، وقمنا أيضًا بتغيير المثال الافتراضي nginx.conf لإزالة هذا لأنه ليس ضروريًا حقًا .

حسنًا ، سنقوم بإعادة إصدار Grav الآن بهذا الإصلاح.

رائعة!

شكرًا @ rhukster والفريق على الإصلاح السريع. تم التحديث هذا الصباح 1.3.6 وكل شيء يعمل مرة أخرى 👍

كل الأعمال زعنفة هنا أيضا! شكرا!!

أي شخص عالق عند 1.3.5 وغير قادر على تحديثه إلى 1.3.6 ببساطة قم بما يلي

cd /var/www/yourgravsite/
sudo mv system/src/Grav/Common/Uri.php system/src/Grav/Common/BACKUP-Uri.php
sudo wget https://raw.githubusercontent.com/getgrav/grav/1.3.4/system/src/Grav/Common/Uri.php -O /var/www/yourgravsite/system/src/Grav/Common/Uri.php
sudo chown -R www-data:www-data /var/www/yourgravsite/

ثم أعد تحميل Admin وستتمكن من تحديثه.

لدي نفس المشكلة تمامًا مثل mitchellkrogza ، فأنا أعمل على المستوى المحلي باستخدام خادم PHP المدمج ، وأظهر لي الأمر php -v

PHP 7.1.7 (cli) (built: Jul  6 2017 16:51:52) ( ZTS MSVC14 (Visual C++ 2015) x64
 )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies

ولدي أحدث إصدار من Grav v1.3.8

sin titulo8

اقرأ المعلومات أعلاه. من المحتمل أن تكون المشكلة مماثلة للملصق الأصلي ، فأنت بحاجة إلى تغيير خط try_files . لقد تم كسرها من قبل ولا ينبغي أن تعمل ، لقد أصلحنا شيئًا ما وأظهر هذه المشكلة على السطح.

شكرا جزيلا ، سأجرب الحل الخاص بك.

لغرض إعلامي فقط ، يجب أن أقول أن هذا لا يحدث على Linux على الأقل بالنسبة لي حتى بالعمل مع خادم PHP المبني ونفس مشروع Grav. (أنا أستخدم Linux Mint 18.2 x64)

في الرسالة السابقة ، كنت أعمل على Windows 10.

image

أواجه هذا باستخدام خادم ويب PHP المدمج الخاص بي ، php -S localhost:8000 system/router.php .

Grav: 1.3.8

PHP 7.1.11 (cli) (built: Oct 25 2017 20:54:15) ( NTS MSVC14 (
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies

2017-11-04 04_13_28-

كيف يمكنك ضبط خط try_files في هذه الحالة؟

colinwilson هل يمكنك من فضلك فتح تذكرة جديدة. هذا خطأ مشابه ولكنه مختلف يجب أن يكون مرتبطًا بالنظام / router.php

همم؛ مثير للإعجاب...

لست متأكدًا مما إذا كان ذلك بسبب استخدامي freebsd 11.1-RELEASE-p8 مع nginx / 1.12.2 و PHP 7.1.15

لكن بالنسبة لي هو معكوس:
الذي قمت بنسخه nginx.conf من getgrav doc أكثر من وجود خطأ أجاكس هذا
لذا أعلق على؟ q = $ uri & $ args واستبدله بكل بساطة
try_files $ uri $ uri / /index.php؛

على هذا النحو

 location / {
    #try_files $uri $uri/ /index.php?q=$uri&$args;
    try_files $uri $uri/ /index.php;
 }

انها تعمل بشكل جيد (بدون خطأ)

حصلت على جميع الأخطاء المحتملة مع أحدث جاذبية ( Grav CLI Application version 1.4.3 ) و Ubuntu 16.04.4 LTS . يظهر رمز الأمان غير صالح عند النقر فوق الزر Clear Cache (مسح ذاكرة التخزين المؤقت) ، غير صالح AJAX - في كل مرة أقوم فيها بتحديث الصفحة.
تم تمكين التصحيح في user/config/system.yaml
جربت خيارات تكوين nginx مختلفة كما هو موضح في هذا الموضوع.

لا توجد أخطاء في وحدة التحكم ، ولا توجد أخطاء في سجل أخطاء nginx.
لا فكرة عما يجب القيام به بعد ذلك.

screenshot 2018-04-26 14 13 57
screenshot 2018-04-26 14 14 08

velsa يرجى إنشاء عدد جديد من هذا حيث لا أحد ينظر إلى القضايا المغلقة. :)

velsa يرجى إنشاء عدد جديد من هذا حيث لا أحد ينظر إلى القضايا المغلقة. :)

يجب عليهم فعلاً ذلك ، ما لم تنشر أنك تتبع سير عمل حيث يتم تجاهلهم عمدًا. هل هي مشكلة إعلام؟ (دع هذا يكون اختبار!)

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات

القضايا ذات الصلة

coolemur picture coolemur  ·  3تعليقات

maciejmatu picture maciejmatu  ·  3تعليقات

fourroses666 picture fourroses666  ·  4تعليقات

illycz picture illycz  ·  5تعليقات

orasik picture orasik  ·  6تعليقات