게시 또는 업로드에 실패했습니다.오류 메시지: "응답이 유효한 JSON 응답이 아닙니다."
오늘 워드프레스에 문제가 생겼어요.WordPress admin 섹션에서 새 페이지를 만들고 새 이미지를 업로드하려고 할 때 해결 방법을 찾으려고 하지만 얻을 수 없었습니다.그래서 한 시간 동안 샌딩한 후에 해결책을 찾았어요
에러
"게시에 실패했습니다.오류 메시지:응답이 유효한 JSON 응답이 아닙니다."
settings > permalinks로 이동합니다."게시 이름"을 선택하고 저장합니다.
투고/페이지를 갱신해 주세요.동작하지 않는 경우는, [설정(Settings)]> [퍼멀링크(permalinks)]에서 다른 옵션을 선택해 주세요.
지금 바로 클래식 에디터 플러그인을 사용하여 이 문제를 해결할 수 있습니다.
오류에 대한 답은 제가 몰랐던 에디터인데 새로운 에디터 문제가 있습니다.같은 문제가 발생하는 경우는, 아래의 플러그인을 사용해 주세요.이러한 문제를 해결하기 위해 저는 이 문제에 대한 연구개발을 하고 있습니다.종료 솔루션이 나오면 바로 업데이트를 할 수 있습니까?
로컬 개발 환경에서도 동일한 문제가 발생했는데, 이 문제는 다시 쓰기 권한 때문이라는 것을 알게 되었습니다..htaccess 파일에 적절한 권한이 있는지 확인합니다.
sudo chmod 755 .htaccess
사용 권한이 설정되면 Permalink 설정을 저장합니다.문제가 해결되지 않으면 mod_rewrite가 활성화 되어 있는지 확인합니다.다음은 Ubuntu의 apache2에서 사용할 수 있습니다.
sudo a2enmod rewrite
sudo systemctl apache2 restart
그래도 작동하지 않으면 Apache 구성이 너무 엄격할 수 있습니다.다음은 Ubuntu의 apache2에 대한 트릭을 제공합니다./etc/apache2/apache2.conf를 편집하고 루트 디렉토리 블록을 찾습니다.보통 아래와 같이 /var/www가 있습니다.AllowOverride None 이 표시될 수 있습니다.로컬의 경우 아래 All like로 변경하기만 하면 됩니다.다만, 실가동 서버상에서 조사를 실시해, 시큐러티를 강화할 필요가 있을 가능성이 있습니다.
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
변경 후 Apache에서 다시 시작하면 모두 정상입니다.
sudo systemctl apache2 restart
앞에서 설명한 퍼멀링크 설정을 변경하면 문제가 해결되었습니다."Post name"을 permalink 설정으로 유지하면 .htaccess 파일을 워드프레스로 쓸 수 있어야 합니다.
또는 아래를 .htaccess 파일 하단에 붙여넣을 수 있습니다.mod_rewrite 변경은 파일 맨 아래에서 먼저 실행됩니다.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
혼합 콘텐츠(HTTP 및 HTTPS URL)에 보안 문제가 있을 수 있습니다.스텝-1 1. 1.Wordpress URL을 확인합니다.[설정] - > [퍼멀링크]로 이동하여 [플레인]를 클릭하여 페이지를 저장합니다.그런 다음 오류를 제거합니다.
순서 2
- Wordpress URL을 확인합니다.[설정] -> [전반]으로 이동합니다.
- Wordpress Address 및 Site Address를 https:/
이것으로 나는 문제를 해결했다.
[ Settings ]> [ Permalinks ]으로 이동합니다.Post name에 permalink structure를 선택하고 저장합니다.이제 게시물/페이지를 저장해 보십시오.
참고로 스크린샷을 공유합니다.
이 문제는 해결되었어야 했다.
문제가 해결되면 원하는 경우 Permalinks에서 이전 옵션을 선택할 수 있습니다.
주의: 이미 [Post Name](투고명)을 선택한 경우 [Post Name](투고명)을 리셋하는 다른 옵션을 선택해야 합니다.
방금 클래식 에디터 플러그인을 설치했는데 "The response is not valid JSON response" 문제가 해결되었습니다.
콘텐츠를 게시하려고 할 때 동일한 "유효하지 않은 JSON 응답" 오류가 발생했습니다.WordPress는 새로운 투고/페이지를 게시할 때 JSON 투고를 하는 것 같아서 Developer Tools에서 Network 탭을 확인했습니다.이 JSON 콜의 [response]탭을 체크하면, 이 무효인 JSON 응답에 관한 상세 정보가 표시되는 일이 있습니다.
제 경우(여러분이 다를 수 있습니다) 실제 JSON 데이터 전에 권장되지 않는 디버깅메시지가 출력되어 응답이 엉망이 되었습니다.사용되지 않는 메시지를 수정한 후 게시 작업이 다시 수행되었습니다.
<br />
<b>Deprecated</b>: Automatically populating $HTTP_RAW_POST_DATA is deprecated and will be removed in a future version. To avoid this warning set 'always_populate_raw_post_data' to '-1' in php.ini and use the php://input stream instead. in <b>Unknown</b> on line <b>0</b><br />
<br />
<b>Warning</b>: Cannot modify header information - headers already sent in <b>Unknown</b> on line <b>0</b><br />
{__NORMAL_JSON_DATA_HERE__}
/etc/nginx/sites-available/open default file --> sudo vi default 또는 sudo nano default로 이동합니다.
위치에 아래 줄 추가:
코멘트 추가: #try_files $uri $uri/=404;
다음 행을 추가합니다: try_files $uri $uri/ /index.php?$140s;
빨간색 선으로 표시된 다음 스크린샷을 참조하십시오.
여기에서는, 2개의 서버 블록이 있습니다.첫 번째 블록은 포트 80에서 실행되고 있습니다.두 번째 서버 블록은 포트 443에서 다음 코드를 구현해야 합니다.
{ 버{ {
configuration #ssl # #
/ { / / / {
하려고 한 후 # 요청 처리 시도, 으로 # 요청 처리,
404번, 404번입니다.
# // 이 블록에 # try_files $uri/ = 404; // 이 블록은 코멘트합니다.
/; try_files $uri $uri/ /index.suri$is_suris$s;
}
}
이제 nginx 서버를 종료하고 재시작합니다.
service restart ~$ sudo service nginx 입니다.
넌 끝났어.즐거운 시간 되세요.
내 경우 방화벽 문제였습니다.웹 사이트에 대해 ModSecurity 방화벽 규칙이 트리거되었습니다.호스팅 프로바이더(NameCheap)에 문의했더니 문제를 특정하고 트리거된 규칙을 서버에 화이트리스트에 올렸습니다.그 후 문제가 해결되었습니다.
아직 고쳐지지 않은 것 같아요.
나에게 효과가 있는 회피책(다른 사람에게도 효과가 있는 경우 투고)- 제 경우는 HTML 블록을 사용하고 있었기 때문에 문제가 발생했습니다.패러그래프 블록 > 편집을 HTML로 추가하여 문제를 해결했습니다.WP가 아직 조사하지 않은 것이 아쉽다, 한동안 있었던 것 같다.
같은 에러가 발생했는데, 제 경우는 페이지에서 사용되는 쇼트코드로 쇼트코드를 정의한 함수는 '반환'이 아닌 '에코'를 사용하여 데이터를 출력하고 있었습니다.
페이지 추가 및/또는 업데이트 시 다양한 랜덤 오류와 함께 동일한 오류 메시지가 나타납니다.로컬 개발 서버와 웹 호스트 모두에서 오류가 발생했습니다.기본 테마 중 하나(예: 2119)로 변경하면 오류가 사라집니다.저는 페이지 템플릿 파일에 문제가 있었습니다.새로 만든 페이지의 템플릿을 선택할 때 같은 이름의 여러 선택지가 있다는 것을 알게 되었습니다.
페이지 템플릿 파일이 몇 개 있습니다(페이지 어바웃 등).php, 연락처 페이지.php, 서비스 페이지.php 등).이 파일들을 작성할 때는 대부분의 페이지가 비슷하기 때문에 기존 파일에서 복사/붙여넣기만 하면 새로운 xxx 페이지를 만들 수 있습니다.php 파일.그러나 일부 복사된 파일(전부는 아님)에서 파일 상단에 있는 '템플릿 이름'을 수정하는 것을 잊었습니다.
모든 템플릿 파일에 고유한 이름이 있는지 확인한 후 JSON 오류가 사라졌습니다.다른 오류들도 다 사라졌어요.워드프레스 5.4를 쓰고 있어요.
저의 문제는 .htaccess와 관련된 것입니다.".htaccess 설정 문제"에 대한 LucasBr의 코멘트에서 힌트를 얻었습니다.사이트를 로컬 개발 환경에 복사했기 때문에설정에 맞게 커스텀 mod_rewrite 설정을 업데이트해야 했습니다.
중요한 행은 다음과 같습니다.
RewriteBase /
그리고.
RewriteRule . /index.php [L]
이전에는 서브디렉토리 사이트에 접속하도록 설정되어 있었습니다.
일부 커스텀 플러그인에 에코가 있기 때문에, 이것도 이 문제의 원인입니다.
계속 고민하고 있었어요.솔루션을 찾기 전에 PHP 8을 교체했습니다.이것은 커스텀 PHP 인스톨이었기 때문입니다.
하지만 아무 것도 효과가 없었어.
이 솔루션은 Drupal 설치 중에 발견되었습니다.
- Opcache 사용(Drupal에 한함)
- [ Mod ], [all](내) 및 [In my](내)
httpd.ini
Rewrite가 3개 .Mod Rewrite는 3개입니다.
''로 요.None
로로 합니다.All
한 번복하다none
all
글씨,, 작은 글씨였습니다.None
로로 합니다.All
httpd를 하여 합니다.httpd -k restart
)(CMD)
이 문제는 해결되었습니다.
저는 제 고객 중 한 명과 다른 이유로 같은 문제가 발생했지만, 이것이 잠재적인 해결책이라고는 생각하지 못했습니다.
W.A.를 유효하게 했을 경우.F(클라우드 플레어 등) 부작용 중 하나는 이 오류일 수 있으므로 다른 솔루션이 모두 작동하지 않으면 반드시 비활성화하여 비활성화하십시오.
워드프레스와 함께 mod security 3을 사용하면 다음 메시지가 표시될 수 있습니다.
게시하지 못했습니다.응답이 유효한 JSON 응답이 아닙니다.
이 규칙을 제거하려면 다음 제외 파일에 이 규칙을 추가해야 합니다.
REQUEST-900-EXCLUSION-RULES-BEFORE-CRS
다음과 같습니다.
# Remove Publishing failed. The response is not a valid JSON response.
SecRule REQUEST_HEADERS:Host "example.com" \
"id:1025,\
phase:2,\
pass,\
nolog,\
chain"
SecRule REQUEST_URI "@beginsWith /wp-json/wp/v2" \
" ctl:ruleRemoveById=933210,ctl:ruleRemoveById=949110"
규칙 ID를 변경하고 example.com을 도메인 이름으로 변경해야 할 수 있습니다.그 후 다음을 수행합니다.
sudo nginx -t
문제가 검출되지 않은 경우는, nginx 를 재기동합니다.
sudo service nginx restart
sudo systemctl restart nginx
이것은 퍼멀링크 에러입니다.
이 문제를 해결하려면 다음 절차를 수행합니다(시나리오의 원인에 따라 다름).https://wordpress786.com/updating-failed-error-message-the-response-is-not-a-valid-json-response/ :
- 에
settings > permalinks
- nginx에 있는 경우 사이트 nginx conf 파일에 접속하여 wordpress permalinks 규칙이 포함되어 있는지 확인합니다(wordpress의 경우 nginx configurationn 참조, 헷갈리면 물어보세요).
- conf 파일을 편집한 경우 nginx를 재시작합니다.
이미지 업로드에 문제가 있는 경우는, https://navinrao.com/the-response-is-not-a-valid-json-response/ 를 참조해 주세요.
일반 텍스트 업데이트 중 이 문제가 발생했습니다.제가 직면한 문제는 링크()에 javascript:void(0) 키워드가 포함되어 있었기 때문입니다.
업데이트 전에 콘텐츠에 javascript가 포함된 키워드가 있는지 확인하십시오.
<a href="javascript:void(0)" target="_blank" title="Linkedin" class="social-color-3"><i class="fa fa-linkedin" aria-hidden="true"></i></a>
javascript:void(0)를 삭제하면 정상적으로 동작합니다.즐거운 시간 보내세요:)
하위 도메인을 포함하여 WordPress 사이트에 대한 모든 리디렉션을 제거해 보십시오.
언급URL : https://stackoverflow.com/questions/59009827/publishing-or-uploading-failed-error-message-the-response-is-not-a-valid-json
'programing' 카테고리의 다른 글
react Link 컴포넌트에서 onClick 이벤트를 사용하는 방법 (0) | 2023.03.09 |
---|---|
AngularJs(1.X) 부분 템플릿 포함 (0) | 2023.03.09 |
wp_postmeta 테이블이란 (0) | 2023.03.09 |
javascript를 type="param"으로 큐잉합니다. (0) | 2023.03.09 |
material-ui에서 의사 선택기를 사용하는 방법 (0) | 2023.03.09 |