Magento 2.0: печать исключений по умолчанию отключена по соображениям безопасности

8

Мне удалось войти в Admin и увидеть сайт, хотя без каких-либо данных или графики.

Вскоре я получил это сообщение:

Печать исключений по умолчанию отключена по соображениям безопасности

У меня нет /errorsпапки в моем корневом каталоге Magento.

Джордж Нг
источник

Ответы:

11

Ошибки исключений хранятся как файлы с именованными номерами, за var/report/исключением случаев, когда права доступа к каталогу настолько испорчены, что Magento либо не может писать туда, либо пытается сохранить свой кэш в системном /tmpкаталоге.

Используйте клиент sftp, чтобы найти и прочитать файлы в var/report/каталоге.

Хак используется в Magento 1.x , чтобы показать трассировку стека на экране вместо того , чтобы писать в файл является дыру в безопасности , если не отменено на живом сайте. Лучшим примером, доступным на старых форумах Magento, была трассировка стека, опубликованная с четко видимыми учетными данными для входа. Плохо, если у вас есть Google Dork (архивная трассировка стека).

Для Magento 2 /errors/local.xmlперемещен в/pub/errors/local.xml

Скопируйте local.xml.sample в local.xml и внесите изменения, соответствующие вашей серверной среде.

введите описание изображения здесь

Fiasco Labs
источник
Вы также можете установить Magento для режима разработчика для отображения ошибок в браузере. magento deploy:mode:set developer
Стив Джонсон
Для Magento 2 файл /errors/local.xml перемещен в /pub/errors/local.xml Я нашел папку / pub / errors, но папка ошибок была пустой и в ней не было никаких файлов.
Джордж Нг
1
Если pub / errors / пусто, у вас есть частичная установка. Смотрите добавленное изображение, что вы пропустили. Вероятно, это связано с тем, что сайт выдает сообщения об ошибках. Magento 2.0 весит 223 МБ (234 020 733 байта), 41 237 файлов, 17 063 папки. Вы загружаете весь архив на сервер и распаковываете его в системе, установки sftp или загрузчика гарантированно завершатся с такими большими издержками.
Fiasco Labs
2

В Magento 2.0 папка с ошибками находится не в Magento / errors, а в pub / errors /. Так что, как и в Magento 1, для включения ошибок печати нам нужно переименовать pub / errors / local.xml.sample в pub / errors / local. XML

Вы также можете включить режим разработчика Magento, введя эту строку в Magento CLI

php bin/magento deploy:mode:set developer

Теперь вы можете обновить страницу с ошибкой, и журнал ошибок будет выглядеть примерно так

Recoverable Error: Argument 1 passed to Mage_Eav_Model_Attribute_Data::factory() must be an instance of Mage_Eav_Model_Attribute, instance of Mage_Eav_Model_Entity_Attribute given, called in /magento/app/code/core/Mage/Customer/Block/Address/Renderer/Default.php on line 114 and defined  in /magento/app/code/core/Mage/Eav/Model/Attribute/Data.php on line 59

#0 /magento/app/code/core/Mage/Eav/Model/Attribute/Data.php(59): mageCoreErrorHandler(4096, 'Argument 1 pass...', '/var/www/vhosts...', 59, Array)
#1 /magento/app/code/core/Mage/Customer/Block/Address/Renderer/Default.php(114): Mage_Eav_Model_Attribute_Data::factory(Object(Mage_Eav_Model_Entity_Attribute), Object(Mage_Sales_Model_Order_Address))
#2 /magento/app/code/core/Mage/Customer/Model/Address/Abstract.php(337): Mage_Customer_Block_Address_Renderer_Default->render(Object(Mage_Sales_Model_Order_Address))
#3 /magento/app/code/core/Mage/Customer/Model/Address/Abstract.php(326): Mage_Customer_Model_Address_Abstract->format('html')
#4 /magento/app/design/adminhtml/default/quickcheckout/template/sales/order/view/info.phtml(163): Mage_Customer_Model_Address_Abstract->getFormated(true)
#5 /magento/app/code/core/Mage/Core/Block/Template.php(241): include('/var/www/vhosts...')

Справочный источник: https://magenhosting.com/tutorial/fix-magento-exception-printing-is-disabled-by-default-for-security-reasons-in-magento-2

Брайан
источник