Używam WordPress 3.4.1 na Ubuntu 12.04, używając Apache i PHP 5.3.X
Kiedy loguję się do deski rozdzielczej i dodaję nowy post. Następnie spróbuj przesłać obraz, aby ustawić go jako wyróżniony obraz, otrzymuję czerwone pole z komunikatem „Błąd HTTP”.
Czytałem o osobach, które mówią, że nie używają programu do przesyłania plików flash i po prostu używają programu do przesyłania plików przeglądarki, ale gdy spróbuję, dostaję błąd wewnętrzny serwera 500.
Próbowałem dodać AddType x-mapp-php5 .php
na początku mojego pliku .htaccess, ale bez powodzenia.
Wyłączenie WSZYSTKICH wtyczek nie przyniosło żadnego efektu. Próbowałem świeżej instalacji. Brak szczęścia.
Aktualizacja 17.10.2016 - Jeśli używasz niestandardowych ról lub możliwości, spróbuj użyć natywnej roli / możliwości i spróbuj ponownie.
Rzeczy do rozważenia:
- Własność pliku
- Uprawnienia do plików
- .htaccess konfiguracja
- Wersja PHP 7+
- WordPress Aktualna wersja
Jeśli korzystasz z serwera proxy, upewnij się, że limity czasu serwera proxy są poprawnie skonfigurowane.
źródło
AddType x-mapp-php5 .php
? To wydaje się być bardzo specyficzne dla serwera. Wydaje mi się, że bardziej prawdopodobne jest uszkodzenie strony (np. PHP) okropnie (lub nic nie robić, jeśli masz szczęście), niż poprawianie czegokolwiek?Odpowiedzi:
Wstawiam następujący kod do mojego
functions.php
pliku. To działa!Pomaga to, ponieważ zmienia moduł kodu PHP używany do przetwarzania przesłanego obrazu do użycia z WordPress.
Przetwarzanie to obejmuje przenoszenie obrazu do bazy danych biblioteki multimediów i generowanie obrazów o różnych rozmiarach („miniatura”, „średnia”, „duża”), do których WordPress zawsze chce mieć dostęp do motywów.
Powoduje użycie modułu „GD”, ponieważ jest on pierwszy. W niektórych konfiguracjach serwerów nowsza biblioteka „Imagick” nie działa dobrze z innymi w niektórych scenariuszach obrazu, takich jak duże wymiary pikseli, więc wymuszenie użycia biblioteki „GD” jest poprawką.
źródło
functions.php
, ponieważ jeśli zmienisz motyw, stracisz kod. I jestem pewien, że chcesz, aby działało to po zmianie motywu 😊Po rozwiązaniu problemu z @Wyck na czacie, zawęziliśmy się do podstawowej kwestii.
Problem związany był z tym, że moja konfiguracja serwera nie ma odpowiedniej ilości pamięci przydzielonej do Apache / PHP.
Jeśli ktoś ma ten sam problem, spróbuj sprawdzić, czy masz wystarczającą (64 MB +) pamięć serwera przydzieloną Apache / PHP w ustawieniach konfiguracji serwera. Możesz również dodać to do pliku wp-config.php:
Jeśli powyższe rozwiązanie nie działa, przeczytaj artykuł Problemy z programem Image / Media Uploader? do dalszego rozwiązywania problemów.
Spróbuj dodać jeden lub wszystkie z poniższych poprawek .htaccess do pliku .htaccess w katalogu głównym instalacji WordPress.
Poważnie, wypróbuj jedno z poniższych rozwiązań, aby wiedzieć, które z nich rozwiązało problem. Nie wklejaj ich wszystkich natychmiast do pliku .htaccess.
Wypróbuj tę linię:
mod_security może powodować problemy. Wyłącz, aby zobaczyć, czy to jest problem. Aby to zrobić, utwórz plik .htaccess w katalogu wp-admin. Dodaj to do niego:
Jeśli używasz kontroli dostępu opartej na uwierzytelnianiu na swoim serwerze internetowym (często znanym jako htpasswd, uwierzytelnianie podstawowe, katalog chroniony hasłem lub podobny), WordPress nie jest w stanie obsłużyć go dla Flash Uploadera, Crona i XMLRPC. Powiązane pliki należy wykluczyć z pracy. Pamiętaj, że może to złamać twoje względy bezpieczeństwa.
Ostatnia uwaga: niektórzy powiedzieli, że jeśli używasz mniejszej wersji PHP 5.3.X, możesz spróbować wyłączyć tryb awaryjny PHP.
Jeśli korzystasz z wielu witryn WordPress i otrzymujesz błędy HTTP lub wewnętrzne błędy serwera związane z przesyłaniem obrazów, przeczytaj Przesyłanie zdjęć do wielu witryn powoduje błąd HTTP ), aby znaleźć inne możliwe pomysły i rozwiązania problemów.
źródło
define('WP_MEMORY_LIMIT', '64MB');
powinno to być większe, jeśli to możliwe.AddType x-mapp-php5 .php
nie jest to już realne rozwiązanie, ponieważ zmusza stronę do drukowania kodu PHP jako zwykłego tekstuclient_max_body_size 128m;
Wystąpił ten sam błąd podczas próby przesłania multimediów w wordpress. W Chrome pojawia się jako błąd http: błąd; w przeglądarce Firefox błąd wygląda zupełnie inaczej. Internet to pełne historie ludzi, którzy spędzili kilka dni na ściganiu błędu (ja też :-(). Rozwiązań jest mnóstwo, ale nikt nie wyjaśnia dlaczego, przynajmniej nie w sposób zgodny z objawami.
Mój godny uwagi wkład: zauważyłem, że problem koreluje z błędem segmentacji sygnalizowanym w pliku dziennika apache2. Niepokoi mnie to, ponieważ trudno jest zdiagnozować.
Ponowne uruchomienie całego serwera usunęło wszystkie objawy i nagle mogłem ponownie załadować media w Wordpress. Frustrujące jest to, że nie mam pojęcia, dlaczego tak się dzieje. Ponowne uruchomienie skutecznie powstrzymało mnie od dalszych badań i teraz będę musiał czekać (tygodnie? Miesiące?) Na ponowne pojawienie się problemu. Mam nadzieję, że pomoże to innym w poszukiwaniu przyczyny tego problemu. Moja żona jest jednak szczęśliwa, ponieważ nie mogę już dłużej nocować w pogoni za tym problemem ...
źródło
Mam rozwiązany ten problem poprzez zmianę mojego właściciela od
root
celuapache
, jak poniżej.A potem zmieniłem pozwolenie
wp-content/uploads/
na775
.Następnie próbowałem załadować obraz w mediach. Udało mi się załadować obraz.
źródło
Miałem ten sam problem. Wypróbowałem różne poprawki, w tym zmianę domyślnego procesora obrazu z PHP GD na ImageMagick przy użyciu wtyczki Force Image Magick
Pomogło to z błędem HTTP / błędem 500, ale miniatury nie były już generowane. Następnie ponownie dezaktywowałem wtyczkę i pomogła mi ta odpowiedź na pytanie. Wygląda na to, że zmiana rozmiaru obrazu nie działa dobrze . Mój
PHP_MEMORY_LIMIT
został ustawiony160MB
na absolutne maksimum, na jakie pozwala mój hosting.W przypadku przesyłania obrazów skutkowało to maksymalnymi możliwymi wymiarami obrazu
6000 x 6000 px
podczas korzystania z PHP GD i generowania miniatur. Dlatego ważne jest, aby nie tylko sprawdzić rozmiar pliku, ale także wymiary obrazu. Przesłanie obrazu o większych wymiarach spowodowało błąd HTTP / błąd 500, nawet przy małych rozmiarach plików.źródło
Doświadczyłem takiej emisji wiele razy i rozwiązany przez zwiększenie
memory_limit = 256M
w php.ini lub dodaniedefine( 'WP_MEMORY_LIMIT', '256M' );
wwp-config.php
pliku (* W razie potrzeby można zwiększyć pamięć ponad256M
) przez większość czasu.Innym możliwym rozwiązaniem może być zezwolenie na
\wp-content\uploads\
folder; Polecenie:chmod -R 0755 wp-content\uploads\
.Mam nadzieję, że to może ci pomóc.
źródło