마 젠토 2 개발자 모드는 정적 파일을 자동으로 재생하지 않습니다


14

개발자 모드에서 Magento 2.0.2를 설치했는데 CSS를 변경할 때마다 정적 뷰 파일을 강제로 재생성하는 방법을 여전히 알 수 없습니다.

다음을 실행하여 개발자 모드에 있음을 확인했습니다. php bin/magento deploy:mode:show

이 페이지 는 그 개발자 모드가 캐시 정적 뷰 파일을 불가능하게 말했다, 그러나 그것은 나를 위해 아니다.

이 솔루션di.xml 에서 언급 한대로 편집하려고했지만 Magento의 동작을 변경하지 않았습니다.

정적 에이전트 파일을 자동으로 재생성하도록 magento에 지시하려면 어떻게해야합니까?

답변:


4

개발자 모드에서 M2는 정적 파일을 생성하지 않습니다. 다양한 모듈에서 심볼릭 링크를 만들어야합니다. 그러나 setup : static-content : deploy를 실행하고 해당 파일을 제 위치에 있으면 업데이트하지 않습니다. 모든 정적 파일을 제거하고 Magento가 해당 파일에 연결되어 있는지 확인하십시오 (심볼릭 링크가있는 경우 실제 파일을 제거하지 않도록주의하십시오)


1
pub / static의 전체 내용 (.htaccess 파일을 삭제하지 않고)을 삭제하려고 시도했지만 작동하지 않았습니다. 이전 파일이 재생성 된 것 같습니다.
AlexandreC

현재 업데이트 된 콘텐츠를 얻을 수있는 유일한 방법은 Magento 캐시 관리 페이지에서 '정적 파일 캐시 플러시'를 클릭하는 것입니다.
AlexandreC

4
개발자 모드에서 심볼릭 링크가 생성되지 않는 것과 동일한 문제가있었습니다. 그런 다음에서 .htacces파일을 삭제했음을 깨달았습니다 pub/static. 다음 요청 .htaccess에서 파일을 복원하면 pub/static모든 심볼릭 링크가 다시 생성되었습니다. 도움이되기를 바랍니다.
Alessandro Ronchi

현재 Magento 2.0.6과 동일한 문제가 있습니다. .htaccess-file을 다시 추가하려고 시도했습니다 (nginx를 실행하므로 많이 할 것이라고 생각하지 않았습니다). 예상대로 작동하지 않았습니다. 이전에 내 심볼릭 링크가 만들어졌지만 더 이상은 아닙니다 ...
Giel Berkers

1
pub/static어쨌든 자동 생성 된다고 생각 했으므로 한 시점에서 수동으로 삭제하고 동일한 문제가 발생했습니다. 우리의 apache2 / php7 설정에서 이제 누락 된 .htaccess 파일이 실제로 이것을 담당합니다. 원래 .htaccess 개발자 모드를 다시 만든 후 다시 정상적으로 작동했습니다. 최근 .htacces에 대한 링크는 다음과 같습니다. github.com/magento/magento2/blob/develop/pub/static/.htaccess
Jey DWork 2016 년

1

나도 마찬가지였다. 사이트를 다른 서버로 옮긴 후 파일 권한을 올바르게 설정하지 않은 것으로 나타났습니다.

나는 달려서 find . -type d -exec chmod 770 {} \; && find . -type f -exec chmod 660 {} \; && chmod u+x bin/magento내 문제를 해결했다.

추가 정보 : Magento 2 : 공유 호스팅을위한 권장 파일 권한

업데이트 : pub 폴더 (magento / pub)와 기본 폴더에 읽기 및 쓰기 권한이 있는지 확인하십시오.


2
누가 공감 했습니까? 왜?
Chris K

0

조금 늦었지만 같은 문제가 발생했습니다. 나는 developer한동안 모드를 활성화 한 다음 어떤 이유로 든 (어쩌면 내 부분에서 오류가있을 수 있음) 더 이상 작동하지 않는 것 같습니다.

나를위한 간단한 해결책은 모드를 개발자로 다시 재설정하는 것이 었습니다.

php bin/magento deploy:mode:show developer

NB : 당신은로 설정해야합니다 default다음과 developer.


이것은 또한 도움이되지 않았습니다. 다른 제안?
Adarsh ​​Khatri

0

정적 파일을 플러시하지 않는 한 적은 업데이트로도 동일한 문제가 발생했습니다. 나를위한 해결책은 비활성화하는 것이었다 mod_expires. 이것은 CSS 등을 캐싱하는 것입니다.

pub/static/.htaccess파일 내부 에는 다음과 같은 내용이 있어야합니다.

<IfModule mod_expires.c>

############################################
## Add default Expires header
## http://developer.yahoo.com/performance/rules.html#expires

    ExpiresActive On

    # Data
    <FilesMatch \.(zip|gz|gzip|bz2|csv|xml)$>
        ExpiresDefault "access plus 0 seconds"
    </FilesMatch>
    ExpiresByType text/xml "access plus 0 seconds"
    ExpiresByType text/csv "access plus 0 seconds"
    ExpiresByType application/json "access plus 0 seconds"
    ExpiresByType application/zip "access plus 0 seconds"
    ExpiresByType application/x-gzip "access plus 0 seconds"
    ExpiresByType application/x-bzip2 "access plus 0 seconds"

    # CSS, JavaScript, html
    <FilesMatch \.(css|js|html|json)$>
        ExpiresDefault "access plus 1 year"
    </FilesMatch>
    ExpiresByType text/css "access plus 1 year"
    ExpiresByType text/html "access plus 1 year"
    ExpiresByType application/javascript "access plus 1 year"
    ExpiresByType application/json "access plus 1 year"

    # Favicon, images, flash
    <FilesMatch \.(ico|gif|png|jpg|jpeg|swf|svg)$>
        ExpiresDefault "access plus 1 year"
    </FilesMatch>
    ExpiresByType image/gif "access plus 1 year"
    ExpiresByType image/png "access plus 1 year"
    ExpiresByType image/jpg "access plus 1 year"
    ExpiresByType image/jpeg "access plus 1 year"
    ExpiresByType image/svg+xml "access plus 1 year"

    # Fonts
    <FilesMatch \.(eot|ttf|otf|svg|woff|woff2)$>
        ExpiresDefault "access plus 1 year"
    </FilesMatch>
    ExpiresByType application/vnd.ms-fontobject "access plus 1 year"
    ExpiresByType application/x-font-ttf "access plus 1 year"
    ExpiresByType application/x-font-otf "access plus 1 year"
    ExpiresByType application/x-font-woff "access plus 1 year"
    ExpiresByType application/font-woff2 "access plus 1 year"

</IfModule>

위의 내용을 비활성화 mod_expires하거나 주석 처리하고 브라우저에서 강제로 새로 고침을 수행하면 (Mac 사용자는을 누른 상태로 Shift + Command + r) 변경할 때마다 변경 사항이 표시되기 시작합니다.


0

방금이 문제가있었습니다!

내 경우에는 권한 문제였습니다.

cat /etc/apache2/logs/error_log | grep static

tail -f / etc / apache2 / logs / error_log | grep static

나에게 흥미로운 정보를 줬다 (아마도 로그 파일 이름이 다를 수 있음)

먼저 나는 보았다 :

[Wed Oct 30 12:19:34.287356 2019] [core:crit] [pid 27633] (13)Permission denied: [client 24.48.87.7:16680] AH00529: /home/[datuser]/public_html/pub/static/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable and that '/home/[datuser]/public_html/pub/static/' is executable

내 pub / static 폴더가 실행 가능하지 않은 것으로 나타났습니다. 그런 다음 내가 얻은 것을 고친 후

[Wed Oct 30 12:22:46.490759 2019] [:error] [pid 27290] [client ipremoved] SoftException in Application.cpp:267: File "/home/[datuser]/public_html/pub/static.php" is writeable by group, referer: [url removed]
[Wed Oct 30 12:22:46.490961 2019] [core:error] [pid 27290] [client ipremoved] End of script output before headers: static.php, referer: [url removed]

우리 서버의 아파치에서는 어떤 이유로 든 그룹별로 쓸 수있는 파일을 제공 할 수 없으며 일부 Cpanel 보안 항목은 내가 믿는 것입니다. 그래서 나는 술집 아래의 모든 파일에 644를 설정해야했고 마침내 내 symlinks가 만들어지기 시작했습니다 !!

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.