Използвам Silverstripe 4 и създадох страница с формуляр. Нещо се обърка и получавам само празна страница с:
„Изглежда има технически проблем. Моля, кликнете върху бутона за връщане, опреснете браузъра и опитайте отново.“
- В .htaccess включих php_flag display_errors
- В _config.php задавам error_reporting (E_ALL);
- И в mysite / _config / app.yml зададох това:
Само: среда: "dev"
SilverStripeSecurityBasicAuth: целия_сайт_защитен: вярно
Сега всичко, което искам да направя, е да позволя на Silverstripe да ми покаже грешките. В Silverstripe 3 единственото нещо, което трябваше да се направи, беше: Director :: set_environment_type ("live");
Какво трябва да направя, за да покажа грешките?
Отговори:
2 за отговор № 1Във вашия .env
файл, можете да посочите променлива среда.
SS_ENVIRONMENT_TYPE="dev"
1 за отговор № 2
Терминът „Изглежда има технически проблем“ е забележка за отказ на CSRF: https://github.com/silverstripe/silverstripe-framework/blob/7603c6d79841df7712c0d1d5136ec402f3162e0c/lang/en.yml#L60
Така че задаването на silverstripe в dev режим или настройване на нива на грешки в php няма да помогне тук, тъй като то просто извежда това, когато проверката на csrf не успее.
Трябва да добавите маркера или да попречите на обработващия формуляр да го провери:
Ако всичко за формата е правилно, тогава има вероятност грешката да бъде причинена от проблеми с разрешение на PHP и директорията за запис на сесията.