noumo / easyii

Easy yii2 cms powered by Yii framework 2
http://easyiicms.com
593 stars 272 forks source link

Не сохраняются данные... #115

Open evgenmil opened 8 years ago

evgenmil commented 8 years ago

Такая проблема.... на локальном сервере все нормально. Как только выкладывается в продакшн, копируя всю директорию и базу данных, не сохраняются категории в каталоге и товары - 500 Internal Server Error. (также не сохраняется все, что связано с категориями) Хотя обычные страницы и, например, текстовые блоки сохраняются нормально. Включил отображение всех ошибок, в логах пусто. Даже уже на самом хостинге включил debug-модуль, но никаких ошибок в нем тоже нет. Данные POST запросом уходят, но ничего не сохраняется. В чем может быть проблема?

Заранее благодарю!

На скриншоте, первые два поля были созданы на локальном сервере. Пытаюсь добавить третье поле, 500... img-2016-02-11-14-27-00

Установленные расширения и версия PHP, может что не хватает)) уже все везде перепроверил... img-2016-02-11-14-43-11

noumo commented 8 years ago

К сожалению без текста ошибки ничего не поделать. Постарайтесь ее поймать или отдебажить хотя бы на какой строке все рушится.

evgenmil commented 8 years ago

Проблема в хостинге. Протестировал на двух других площадках, никаких проблем.

Вот только вопрос, как описать техподдержке, и как понять чего не хватает у них)

noumo commented 8 years ago

Мог быть intl, но он у вас вроде стоит. Повторюсь попробуйте отдебажить и найти на какой строке все рушится. Если есть возможность попробуйте php 5.6

evgenmil commented 8 years ago

Пробовал разные версии php.. Написал в техподдержку, посмотрим что ответят..

evgenmil commented 8 years ago
 public function actionFields($id)
    {
        if(!($model = Category::findOne($id))){
            return $this->redirect(['/admin/'.$this->module->id]);
        }
        echo 'до POST'; // <-- это выводится
        if (Yii::$app->request->post('save'))
        {
            echo 'вначале POST'; // <-- а это уж не выводится, но Request Method:POST!
            $fields = Yii::$app->request->post('Field') ?: [];
            $result = [];
            echo 3;

            foreach($fields as $field){
...
         }
}

затем попробовал echo Yii::$app->request->isPost ? 'isPost' : 'notPost'; выводится notPost

Очень странное поведение... как думаете, с чем может быть связано?

noumo commented 8 years ago

А пробовали var_dump($_POST) выводить? что там вообще

evgenmil commented 8 years ago

Выводит - array(0) { } даже если POST данные отправлены...

evgenmil commented 8 years ago

Нашел строчку https://github.com/noumo/easyii/blob/master/modules/catalog/controllers/AController.php#L52

заменяем ее на 'name' => $temp->name, все сохраняется)

Это связано с выходом Yii 2.0.7? Посмотрел в сторону yii\helpers\BaseInflector::transliterate() ничего подозрительного не нашел... Может свежей версии ICU на этом хостинге не хватает? текущая ICU version 4.2.1