php — Error: POST http://… 500 (Internal Server Error). Angular и X-XSRF-TOKEN (xsrf). Не проходят запросы методами POST, DELETE… Почему? Что делать?
Вопрос задан
Изменён 7 лет 2 месяца назад
Просмотрен 1k раз
Я явно что-то упускаю, но что?
- Есть два локальных сайта на Laravel5.1 + Angular1.4.7.
- Второй является точной копией первого. Обращаются к одной БД, и отличаются только ключом APP_KEY в настройках Laravel-a.
- Первый без проблем шлет запросы POST и DELETE и получает корректные ответы.
- Второй же выдает ошибки типа: POST http://… 500 (Internal Server Error). При том, что GET запросы проходят без проблем на обоих сайтах.
Почему такое происходит? Что я упускаю?
Это важно потому, что собираюсь его копировать в продакшн, но если там будет такая же проблема, то боль.
- php
- javascript
- ajax
- angularjs
- laravel
4
500 HTTP статус говорит о ошибке на стороне сервере. Эта ошибка либо при обработке запроса сервером (nginx или apache) либо ошибка в коде. Соответственно смотри логи сервера, php и приложения. Место нахождение логов надо смотреть в конфигах. Если у вас Unix система то логи лежат скорее всего тут:
/var/log/apache2/... /var/log/nginx/... path_to_project/storage/logs/laravel.log
1
Зарегистрируйтесь или войдите
Регистрация через Google
Регистрация через FacebookРегистрация через почту
Отправить без регистрации
Почта
Необходима, но никому не показывается
Отправить без регистрации
Почта
Необходима, но никому не показывается
Нажимая на кнопку «Отправить ответ», вы соглашаетесь с нашими пользовательским соглашением, политикой конфиденциальности и политикой о куки
[Решено] 500 Внутренняя ошибка сервера при передаче данных в $.
ajaxЦитата:
Убедитесь, что внутренний веб-сервер поддерживает какие-то внутренние журналы ошибок, которые дают более подробную информацию о том, что пошло не так, и, таким образом, помогают в диагностике проблемы. Как правило, он регистрируется в журналах событий Windows на сервере. Таким образом, первое, что нужно сделать при устранении ошибки, — просмотреть журналы событий Windows на сервере, чтобы выяснить, что пошло не так. Перейдите в меню Сервис/Свойства обозревателя в вашем IE.
Перейдите на вкладку «Дополнительно», снимите флажок «Показать понятные сообщения об ошибках HTTP» и нажмите «ОК».
Теперь при доступе к той же веб-странице будет отображаться гораздо более значимое для разработчика сообщение об ошибке.
Идем дальше, наиболее распространены следующие:
Вариант № 1: HRESULT: 0×80070035 — страница не может быть отображена, так как произошла внутренняя ошибка сервера.
Решение заключается в том, чтобы убедиться, что сервер, на котором работает IIS, может получить доступ к настроенному корневому каталогу запрошенного расположения.
Вариант № 2: HRESULT: 0x800700c1 — страница не может быть отображена из-за внутренней ошибки сервера. Это происходит из-за того, что сопоставление скрипта недопустимо.
Решение заключается в том, чтобы убедиться, что сопоставление сценария указывает на файл ISAPI.dll, который может обрабатывать запрос. Для этого выполните следующие действия:
Нажмите кнопку Пуск, выберите пункт Выполнить, введите inetmgr.exe и нажмите кнопку ОК.
В диспетчере IIS разверните имя сервера, разверните веб-сайты и щелкните веб-сайт, который вы хотите изменить.
Убедитесь, что сопоставление сценария указывает на правильный файл ISAPI.
dll. (например, файлы .asp должны сопоставляться с файлом %windir%\system32\inetsrv\asp.dll)Вариант № 3: HRESULT: 0x8007007f — существует проблема с искомым ресурсом, поэтому он не может быть отображен . Это происходит потому, что сопоставление обработчика запрошенного ресурса указывает на DLL-файл, который не может обработать запрос.
Решением будет изменение сопоставления обработчика для запрошенного ресурса, чтобы оно указывало на файл .dll, который может обрабатывать запрос. Для этого выполните следующие действия:
Нажмите кнопку Пуск, выберите пункт Выполнить, введите inetmgr.exe и нажмите кнопку ОК.
В диспетчере IIS разверните имя сервера, разверните веб-сайты и щелкните веб-сайт, который вы хотите изменить.
Щелкните правой кнопкой мыши сопоставление сценария, которое вы хотите изменить, и выберите команду Изменить.
В диалоговом окне «Редактировать карту сценария» введите соответствующий исполняемый файл в поле «Исполняемый файл» и нажмите кнопку «ОК».

Вариант № 4. Одна из других возможностей может заключаться в том, как размещено веб-приложение. Некоторая проблема с конфигурацией безопасности или конфликт из-за нескольких файлов конфигурации.
Решение заключается в том, чтобы убедиться, что приложение размещено правильно, опубликовав приложение как веб-сайт и при необходимости настроив виртуальный каталог.
[решено] 500 внутренняя ошибка сервера после обновления gem
Форумы » Помощь »
Добавил Alexandre Russo 6 месяцев назад
После обновления gem у меня эта ошибка:
Текущий пользователь: аноним
Рендеринг account/login.html.erb в layouts/base
Рендеринг account/login.html.erb в layouts/base (31,2 мс)
Завершено 500 Internal Server Error за 68 мс (ActiveRecord: 11,8 мс)
ActionView::Template::Error (Пытался загрузить неуказанный класс: Symbol):
11: <%= значок %>
12: <%= stylesheet_link_tag 'jquery/jquery-ui-1.11.0', 'приложение', 'отзывчивый', :media => 'все' %>
13: <%= stylesheet_link_tag 'rtl', :media => 'all', если l(:direction) == 'rtl' %>
14: <%= javascript_heads%>
15: <%=heads_for_theme%>
16: <%= call_hook :view_layouts_base_html_head %>
17:
приложение/модели/user_preference.
rb:50:в `инициализировать'
приложение/модели/user.rb:952: в `pref'
приложение/помощники/application_helper.rb:1493:в `javascript_heads'
app/views/layouts/base.html.erb:14:in `_app_views_layouts_base_html_erb__63534369979365645_72000'
lib/redmine/sudo_mode.rb:63:в `sudo_mode'
Мой Gemfile:
источник 'https://rubygems.org' #ruby '>= 2.3.0', '< 2.7.0', если Bundler::VERSION >= '1.12.0' драгоценный камень "упаковщик", ">= 1.5.0" гем "рельсы", "~> 5.2.2" гем "румяна", "~> 3.7" гем "request_store", "~> 1.1" гем "mini_mime", "~> 1.0" гем "actionpack-xml_parser" драгоценный камень "дорожные рельсы", "~> 1.3" драгоценный камень "мимагия" гем "почта", "~> 2.7" gem "csv", "~> 3.0", если RUBY_VERSION >= "2.3" && RUBY_VERSION < "2.6" gem "nokogiri", (RUBY_VERSION >= "2.3" ? "~> 1.10" : "~> 1.9") драгоценный камень "i18n" gem "xpath", "< 3.2.0", если RUBY_VERSION < "2.3" # TODO: Удалите следующую строку, когда #32223 будет исправлено гем "звездочки", "~> 3.7.2" # Windows не включает файлы zoneinfo, поэтому свяжите гем tzinfo-data gem 'tzinfo-data', платформы: [:mingw, :x64_mingw, :mswin] гем "rbpdf", "~> 1.19" # Необязательный гем для аутентификации LDAP группа: ldap делать гем "net-ldap", "~> 0.16" конец платформы: мрт, :mingw, :x64_mingw делать # Необязательный гем для экспорта диаграммы Ганта в файл PNG, не поддерживается jruby группа: rmagick do гем "rmagick", "~> 2.16" конец # Необязательная поддержка Markdown, не для JRuby группа :уценка делать драгоценный камень "красный ковер", "~> 3.4" конец конец # Включить гемы базы данных для адаптеров, найденных в базе данных # конфигурационный файл требовать «эрб» требуется «ямл» увиденные_адаптеры = {} Dir['/usr/share/redmine/{config,instances/*/config}/database.yml'].select do |f| Файл.читабельный?(f) end.each сделать |файл_базы_данных| database_config = YAML::load(ERB.new(IO.read(database_file)).result) адаптеры = database_config.values.map {|c| c['адаптер']}.compact.uniq если переходники.любые? адаптеры.каждый |адаптер| следующий, если see_adapters[адаптер] увиденные_адаптеры [адаптер] = правда чехол адаптер когда 'mysql2' gem "mysql2", "~> 0. 5", :platforms => [:mri, :mingw, :x64_mingw] когда /postgresql/ gem "pg", "~> 1.1", :platforms => [:mri, :mingw, :x64_mingw] когда /sqlite3/ gem "sqlite3", "~> 1.3", :platforms => [:mri, :mingw, :x64_mingw] когда /sqlserver/ гем "tiny_tds", "~> 2.1", :platforms => [:mri, :mingw, :x64_mingw] gem "activerecord-sqlserver-adapter", "~> 5.2.1", :platforms => [:mri, :mingw, :x64_mingw] еще warn("Неизвестный адаптер базы данных `#{adapter}` найден в config/database.yml, используйте Gemfile.local для загрузки собственных гемов базы данных") конец конец еще warn("В config/database.yml не найден адаптер, сначала настройте его") конец конец # Загружаем Gemfiles плагинов Dir.glob File.expand_path("../plugins/*/{Gemfile,PluginGemfile}", __FILE__) do |file| файл eval_gemfile конец
Я на Debian с Apache
Пакет: redmine Версия : 4.0.7-1~bpo10+1
кошка /etc/debian_version 11.3
рубин -v ruby 2.


rb:50:в `инициализировать'
приложение/модели/user.rb:952: в `pref'
приложение/помощники/application_helper.rb:1493:в `javascript_heads'
app/views/layouts/base.html.erb:14:in `_app_views_layouts_base_html_erb__63534369979365645_72000'
lib/redmine/sudo_mode.rb:63:в `sudo_mode'

5", :platforms => [:mri, :mingw, :x64_mingw]
когда /postgresql/
gem "pg", "~> 1.1", :platforms => [:mri, :mingw, :x64_mingw]
когда /sqlite3/
gem "sqlite3", "~> 1.3", :platforms => [:mri, :mingw, :x64_mingw]
когда /sqlserver/
гем "tiny_tds", "~> 2.1", :platforms => [:mri, :mingw, :x64_mingw]
gem "activerecord-sqlserver-adapter", "~> 5.2.1", :platforms => [:mri, :mingw, :x64_mingw]
еще
warn("Неизвестный адаптер базы данных `#{adapter}` найден в config/database.yml, используйте Gemfile.local для загрузки собственных гемов базы данных")
конец
конец
еще
warn("В config/database.yml не найден адаптер, сначала настройте его")
конец
конец
# Загружаем Gemfiles плагинов
Dir.glob File.expand_path("../plugins/*/{Gemfile,PluginGemfile}", __FILE__) do |file|
файл eval_gemfile
конец
