Активы не загружены - PullRequest
       26

Активы не загружены

2 голосов
/ 26 марта 2020

У меня проблема, мои активы не загружены - 404 Не найдено

"nelmio/api-doc-bundle": "^3.6@dev"

Я выполнил php bin/console assets:install и php bin/console assets:install --symlink

Локально работает, но на тестовом сервере не работает ... может кто-нибудь знать об этом волхвов c?

локально Запросить URL: http://symfony.localhost/bundles/nelmioapidoc/swagger-ui/swagger-ui-bundle.js - правильно загружено

На тестовом сервере http://11.11.11.11/bundles/nelmioapidoc/swagger-ui/swagger-ui.css не загружено

и возвращаемая ошибка

in /var/www/symfony/vendor/friendsofsymfony/rest-bundle/View/ViewHandler.php (line 163)
Format 'html' not supported, handler must be implemented

Я проверяю файлы в /var/www/symfony/public/bundles, выглядит правильно, файлы присутствуют в nelmioapidoc. Что я пропустил?

fos rest конфигурация:

fos_rest:
    body_listener:
        service: my_body_listener
    unauthorized_challenge: "Basic realm=\"Restricted Area\""
    access_denied_listener:
        # all requests using the 'json' format will return a 403 on an access denied violation
        json: true
    param_fetcher_listener: force
    format_listener:
        rules:
            - { path: ^/api, prefer_extension: true, fallback_format: json, priorities: [ json ] }
            - { path: ^/, priorities: [ json, xml, html ], fallback_format: ~, prefer_extension: true }
    view:
        view_response_listener: 'force'
        formats:
            json: true
            jsonp: false
            xml: false
            rss: false
        mime_types:
            json: ['application/json', 'application/x-json']
    routing_loader:
        default_format:  json
    exception:
        enabled: true
        codes:
            'Symfony\Component\Routing\Exception\ResourceNotFoundException': 404
            'Doctrine\ORM\OptimisticLockException': HTTP_CONFLICT
            'Symfony\Component\HttpKernel\Exception\BadRequestHttpException': 400
        messages:
            Symfony\Component\HttpKernel\Exception\BadRequestHttpException: true
            Symfony\Component\HttpKernel\Exception\HttpException: true

Но я думаю, это не связано с fos rest. Поскольку это ресурсы ассембли c, его следует загружать без обработки. И что самое важное, локально работает без проблем

Другое дело, может быть, проблема с сервером. Я использую Docker с nginx изображением. Это мой conf nginx .conf:

user www-data;
worker_processes 4;
pid /run/nginx.pid;

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

http {
  server_tokens off;
  sendfile on;
  tcp_nopush on;
  tcp_nodelay on;
  keepalive_timeout 15;
  types_hash_max_size 2048;
  include /etc/nginx/mime.types;
  default_type application/octet-stream;
  access_log off;
  error_log off;
  gzip on;
  gzip_disable "msie6";
  include /etc/nginx/conf.d/*.conf;
  include /etc/nginx/sites-enabled/*;
  open_file_cache max=100;
  client_body_temp_path /tmp 1 2;
  client_body_buffer_size 256k;
  client_body_in_file_only off;
}

daemon off;

и host

server {
    server_name symfony.localhost;
    root /var/www/symfony/public;


    location / {
        try_files $uri @rewriteapp;
    }

    location @rewriteapp {
        rewrite ^(.*)$ /index.php/$1 last;
    }

    location ~ ^/index\.php(/|$) {
        fastcgi_pass php-upstream;
        fastcgi_split_path_info ^(.+\.php)(/.*)$;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param HTTPS off;
    }

    error_log /var/log/nginx/symfony_error.log;
    access_log /var/log/nginx/symfony_access.log;
}

statat для файла на тестовом сервере (я добавляю chmod 777 -R vendor / nelmio) при выполнении assts:install --symlink (тот же самый случай, когда значение хода, без --symlink)

/var/www/symfony # stat public/bundles/nelmioapidoc/swagger-ui/swagger-ui.css
  File: public/bundles/nelmioapidoc/swagger-ui/swagger-ui.css
  Size: 154006      Blocks: 304        IO Block: 4096   regular file
Device: fc01h/64513d    Inode: 1038685     Links: 1
Access: (0777/-rwxrwxrwx)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2020-03-26 08:43:56.025515192 +0000
Modify: 2020-03-25 16:45:47.667069605 +0000
Change: 2020-03-26 08:42:59.921460536 +0000
 Birth: -

Для сравнения с местным (где работает правильно)

    /var/www/symfony # stat public/bundles/nelmioapidoc/swagger-ui/swagger-ui.css
  File: public/bundles/nelmioapidoc/swagger-ui/swagger-ui.css
  Size: 154006      Blocks: 304        IO Block: 4096   regular file
Device: 805h/2053d  Inode: 5797767     Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2020-03-25 16:12:02.252465289 +0000
Modify: 2020-03-25 16:10:42.100983234 +0000
Change: 2020-03-25 16:10:42.100983234 +0000
 Birth: -
...