Чтобы ответить на ваш первоначальный вопрос: «Есть ли способ узнать точную ошибку вместо общей ошибки?»
Инструменты отладки: 1. Echo's - Каково содержимое вашего контроллера? Как вы пытаетесь отладить свой контроллер? В частности, дважды проверьте, что вы не используете эхо в контроллерах, потому что это было приемлемо со старыми версиями yii2, но не с более поздними версиями, и использование эха в контроллерах может привести к внутренним ошибкам сервера. Yii2 issue 16014 Предпочтительно использовать что-то вроде:
Yii::$app->session['myvariable'] = $names;
вместо:
echo $names;
с вашего контроллера, которое вы можете просмотреть на панели инструментов отладки в разделе «Состояние». .Запрос ... Сессия. Обновите свою версию Yii в своем composer. json и запустите composer update, чтобы серверная php версия была совместима с более поздней версией yii2.
var_dumps ($ names) будет полезно, если вы можете получить доступ к своему представлению. Когда вы можете получить доступ к своему обзору. Нажмите F12. Используя Dom Explorer, вы сможете выделить определенные c разделы.
Обратите внимание, в каком формате находятся ваши значения, которые вы просматриваете после нажатия F12. Несколько значений в фигурных скобках - Json, и их нужно будет декодировать в массив php, а затем изолировать до тех пор, пока не будет извлечена фактическая переменная, например.
$translatedId = Yii::$app->request->post('editableKey');
$json = Json::decode($translatedId, true);
$id = $json['id'];
Здесь editableKey находится в Json формат при просмотре с F12. Мы используем Json для декодирования и дальнейшего кода для выделения значения $ id.
Внутренние ошибки сервера часто возникают, когда значение Json не было декодировано, как в приведенном выше примере.
Обновите свой Yii2. Вот более сложный шаблон, который может вам пригодиться:
"minimum-stability": "stable",
"require": {
"php": ">=7.4.1",
"yiisoft/yii2": "~2.0.33",
"yiisoft/yii2-bootstrap": "~2.0.9",
"bower-asset/bootstrap": "~3.4.1",
"npm-asset/jquery": "^2.2",
"bower-asset/ladda": "0.9.8",
"yiisoft/yii2-bootstrap4": "~2.0.8",
"yiisoft/yii2-swiftmailer": "~2.0.0 || ~2.1.0",
"sjaakp/yii2-pluto": "*",
"himiklab/yii2-recaptcha-widget" : "*",
"bizley/cookiemonster": "*",
"vlucas/phpdotenv": "*",
"insolita/yii2-migration-generator": "~3.1",
"ifsnop/mysqldump-php": "*",
"supplyhog/yii2-clipboardjs" : "dev-master",
"devgroup/yii2-tag-dependency-helper": "*",
"warrence/yii2-kartikgii": "dev-master",
"kartik-v/yii2-bootstrap4-dropdown": "@dev",
"kartik-v/yii2-editable": "@dev",
"kartik-v/yii2-grid":"@dev",
"kartik-v/yii2-widget-timepicker": "@dev",
"kartik-v/yii2-date-range": "*",
"kartik-v/yii2-social": "@dev",
"kartik-v/yii2-dynagrid": "dev-master",
"kartik-v/yii2-tree-manager": "@dev",
"kartik-v/yii2-mpdf":"dev-master",
"kartik-v/bootstrap-star-rating": "@dev",
"kartik-v/yii2-slider": "dev-master",
"kartik-v/yii2-number" : "@dev",
"mpdf/mpdf":"~8.0.0",
"2amigos/yii2-google-maps-library" : "*",
"2amigos/yii2-ckeditor-widget" : "~2.1",
"seostats/seostats": "dev-master",
"linslin/yii2-curl":"*",
"paypal/rest-api-sdk-php": "*",
"monolog/monolog":"*",
"ruskid/yii2-csv-importer": "dev-master",
"phpoffice/phpspreadsheet":"*",
"league/omnipay": "*",
"paragonie/random_compat": "*",
"symfony/process": "3.0.*@dev",
"google/cloud-translate": "*"
},
"require-dev": {
"yiisoft/yii2-debug": "~2.1.0",
"yiisoft/yii2-gii": "~2.1.0",
"yiisoft/yii2-faker": "~2.0.0",
"codeception/codeception": "^4.0",
"codeception/verify": "~0.5.0 || ~1.1.0"
},
"config": {
"process-timeout": 1800
},
"fxp-asset": {
"installer-paths": {
"npm-asset-library": "vendor/npm-asset",
"bower-asset-library": "vendor/bower-asset"
}
},
"repositories": [
{
"type": "composer",
"url": "https://asset-packagist.org"
}
],
"scripts": {
"post-install-cmd": "php init --env=Development --overwrite=n"
}
}