이미지를 업로드 할 때 HTTP 오류를 수정하는 방법?


28

Apache 및 PHP 5.3.X를 사용하여 Ubuntu 12.04에서 WordPress 3.4.1을 사용하고 있습니다.

대시 보드에 로그인하여 새 게시물을 추가 할 때 그런 다음 이미지를 업로드하여 추천 이미지로 설정하면 "HTTP 오류"메시지가 표시된 빨간색 상자가 나타납니다.

플래시 업 로더를 사용하지 않고 브라우저 업 로더를 사용한다고 말하는 사람들에 대해 읽었지만 시도하면 500 내부 서버 오류가 발생합니다.

AddType x-mapp-php5 .php운이 변경되지 않고 .htaccess 파일의 맨 위에 추가 를 시도 했습니다.

모든 플러그인을 비활성화해도 아무런 효과가 없습니다. 새로 설치를 시도했습니다. 불운.

2016 년 10 월 17 일 업데이트- 사용자 지정 역할 또는 기능을 사용하는 경우 기본 역할 / 기능을 사용해보고 다시 시도하십시오.

점검 할 사항 :

  • 파일 소유권
  • 파일 권한
  • .htaccess 구성
  • PHP 버전 7 이상
  • 워드 프레스 현재 버전

프록시 뒤에서 작업하는 경우 프록시 서버 시간 초과가 올바르게 구성되어 있는지 확인하십시오.

WordPress 3.4.1 미디어 업로드 HTTP 오류


뒤에 추론은 무엇입니까 AddType x-mapp-php5 .php? 서버에 매우 특정한 것 같습니다. 나는 아무것도 개선하는 것보다 사이트 (예 : PHP)를 끔찍하게 깨뜨릴 가능성이 더 높다고 생각 합니까?
MrWhite

답변:


25

다음 코드를 functions.php파일에 넣었습니다 . 작동합니다!

add_filter( 'wp_image_editors', 'change_graphic_lib' );

function change_graphic_lib($array) {
  return array( 'WP_Image_Editor_GD', 'WP_Image_Editor_Imagick' );
}

이것이 도움이되면 WordPress와 함께 사용하기 위해 업로드 된 이미지를 처리하는 데 사용되는 PHP 코드 모듈을 변경하기 때문입니다.

이 처리에는 이미지를 미디어 라이브러리 데이터베이스로 이동하고 WordPress에서 테마에 항상 액세스 할 수있는 다른 크기의 이미지 ( "썸네일", "중간", "큰")를 생성하는 작업이 포함됩니다.

"GD"모듈이 처음이기 때문에 사용됩니다. 일부 서버 설정에서 최신 "Imagick"라이브러리는 큰 픽셀 크기와 같은 특정 이미지 시나리오에서 다른 "Imagick"라이브러리와 잘 어울리지 않으므로 "GD"라이브러리를 강제로 사용하는 것이 좋습니다.


functions.php테마를 변경하면 코드가 손실되므로 플러그인을에 넣는 것보다 작은 플러그인을 만드는 것이 좋습니다 . 그리고 나는 당신이 테마를 변경 한 후에이 작업을 원한다고 확신합니다 😊
EliasNS

1
+1 새 HostGator 계정에서 즉시 사용 가능한 WP 4.9.4 설정으로이 문제를 해결할 때 유용했습니다. @EliasNS 멍청한 놈; 이것을 위해 작은 플러그인을 만드는 올바른 방법은 무엇입니까?
Andrew Janke

@AndrewJanke, 당신은 플러그인을 사용할 수 있습니다 😅 es.wordpress.org/plugins/pluginception
EliasNS

"Imagick" ? 아니 "ImageMagick이" ?
피터 모텐슨

21

채팅에서 @Wyck으로 문제를 해결 한 후 기본 문제로 좁혔습니다.

이 문제는 Apache / PHP에 적절한 양의 메모리가 할당되지 않은 서버 구성 과 관련이 있습니다.

누구든지 동일한 문제가 발생하면 서버 구성 설정에서 Apache / PHP에 충분한 (64MB 이상의) 서버 메모리가 할당되어 있는지 확인하십시오. 이것을 wp-config.php 파일에 추가 할 수도 있습니다 :

define('WP_MEMORY_LIMIT', '64MB');

위의 해결책이 작동하지 않으면 기사를 읽으십시오. 이미지 / 미디어 업 로더 문제? 추가 문제 해결을 위해.

WordPress 설치의 루트 디렉토리에있는 .htaccess 파일에 다음 .htaccess 조정을 하나씩 추가하십시오.

진지하게, 아래의 각 솔루션 중 하나를 시도하여 어느 것이 트릭을 수행했는지 알 수 있습니다. .htaccess 파일에 바로 붙여 넣지 마십시오.

이 줄을보십시오 :

AddType x-mapp-php5 .php

mod_security 가 문제의 원인 일 수 있습니다. 이것이 문제인지 확인하려면 비활성화하십시오. 이렇게하려면 wp-admin 디렉토리에 .htaccess 파일을 만드십시오. 이것에 추가하십시오 :

<IfModule mod_security.c>
SecFilterEngine Off
SecFilterScanPOST Off
</IfModule>

웹 서버의 인증 (종종 htpasswd, 기본 인증, 비밀번호로 보호되는 디렉토리 등)을 기반으로 액세스 제어를 사용하는 경우 WordPress는 Flash Uploader, Cron 및 XMLRPC에 대해이를 처리 할 수 ​​없습니다. 작동하려면 관련 파일을 제외해야합니다. 이렇게하면 보안 고려 사항이 손상 될 수 있습니다.

# Exclude the file upload and WordPress CRON scripts from authentication
<FilesMatch "(async-upload\.php|wp-cron\.php|xmlrpc\.php)$">
    Satisfy Any
    Order allow,deny
    Allow from all
    Deny from none
</FilesMatch>

마지막 참고 사항 : 일부는 PHP 5.3.X의 낮은 버전을 사용하는 경우 PHP 안전 모드를 비활성화 할 수 있다고 말했습니다.

당신은 워드 프레스 멀티 사이트를 실행하고 오류 또는 내부 서버 오류를 수신 HTTP하는 경우, 이미지 업로드에 관한 참조하시기 바랍니다 다중 사이트가 오류로 HTTP 실패 원인에 업로드 이미지 ) 다른 가능한 문제 해결의 아이디어와 솔루션을.


알았어 ... 알다시피 ... WP는 최대 256MB의 램을 할당하려고 시도하므로 define('WP_MEMORY_LIMIT', '64MB');가능하면 더 커야한다는 것을 읽었습니까?
Damien

1
WP 4.1.1을 사용하는 경우, AddType x-mapp-php5 .php더 이상 페이지가 PHP 코드를 일반 텍스트로 인쇄하도록 강요하므로 더 이상 실행 가능한 솔루션이 아닙니다.
cameronjonesweb

1
또는 nginx를 사용하는 경우이를 사이트 구성 파일에 추가하십시오.client_max_body_size 128m;
Flatron

4

워드 프레스로 미디어를 업로드하려고 할 때 같은 오류가 발생했습니다. Chrome에서는 http : 오류로 표시됩니다. Firefox에서는 오류가 매우 다르게 보입니다. 웹은 버그를 추적하는 데 며칠을 보낸 사람들에 대한 이야기입니다.

내 tuppence 가치있는 기여 : 문제가 apache2의 로그 파일에 표시된 세그먼테이션 오류와 관련이 있음을 알았습니다. 진단하기가 어렵 기 때문에 방해가됩니다.

전체 서버를 재부팅하면 모든 증상이 사라지고 갑자기 Wordpress에서 미디어를 다시 업로드 할 수있었습니다. 실망스럽게도 왜 이런 일이 발생했는지에 대한 단서가 없습니다. 재부팅으로 인해 더 이상 연구가 중단되었으며 이제 문제가 다시 나타날 때까지 기다려야합니다 (주? 개월?). 나는 이것이 다른 사람들이이 문제의 원인을 찾는 데 도움이되기를 바랍니다. 하지만 아내는 더 이상이 문제를 쫓는 밤을 보낼 수 없기 때문에 행복합니다 ...


1

나는에서 내 소유자를 변경하여이 문제를 해결 한 rootapache다음과 같이.

chown -R apache:apache /var/www/html/mydomain

그리고의 권한을 변경 wp-content/uploads/했습니다 775.

그 후 미디어에 이미지를 업로드하려고했습니다. 이미지 업로드에 성공했습니다.


0

나는 같은 문제가 있었다. Force Image Magick Plugin을 사용하여 기본 이미지 프로세서를 PHP GD에서 ImageMagick으로 변경하는 등 다양한 수정을 시도했습니다.

이는 HTTP 오류 / 500 오류에 도움이되었지만 축소판 그림은 더 이상 생성되지 않았습니다. 나는 다시 플러그인을 비활성화하고 무엇을 다음 절 도와 줬어요하면이이었다 대답 질문에 이미지 크기 조정처럼 보이는이 잘 작동하지 않습니다 . 나의PHP_MEMORY_LIMIT160MB 호스트가 허용하는 최대 값 으로 설정했습니다 .

이미지를 업로드 6000 x 6000 px하면 PHP GD를 사용하고 썸네일을 생성 할 때 주변 이미지의 최대 크기가 가능해졌습니다 . 따라서 파일 크기뿐만 아니라 이미지의 크기도 확인하는 것이 중요합니다. 크기가 더 큰 이미지를 업로드하면 파일 크기가 작더라도 HTTP 오류 / 오류 500이 발생했습니다.


0

내가 증가 등의 문제를 여러 번 경험하고 해결 한 memory_limit = 256Mphp.ini 파일에 또는 추가 define( 'WP_MEMORY_LIMIT', '256M' );wp-config.php파일 (* 만약 당신이 이상의 메모리를 늘릴 수 있습니다 필요256M 대부분의 시간을).

다른 가능한 해결책은 \wp-content\uploads\폴더에 권한을 부여하는 것입니다 . 명령:chmod -R 0755 wp-content\uploads\ .

그것이 당신에게도 도움이되기를 바랍니다.

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