@hollanditkzn

Как убрать ошибку на хостинге?

Когда на локалке работал, такой ошибки не выходило, когда залил я на сайт, то вышло ошибка Illegal string offset 'message'. Хотя я все делал по документации и так я не понял в чем заключается ошибка, массив там как бы должен быть или что-то я делаю не так?
<?php

namespace frontend\components;

use app\models\User;

$token = 'token';
$webSite = 'https://api.telegram.org/bot'.$token;

$output = file_get_contents('php://input');
$message = $output['message'];
$id = $message['chat']['id'];

$model = User::findOne(\Yii::$app->user->id);
$model->telegram_chat_id = $id;
$model->save();
  • Вопрос задан
  • 159 просмотров
Решения вопроса 2
qonand
@qonand
Software Engineer
Когда на локалке работал, такой ошибки не выходило

Настраивайте error_reporting что бы такие ситуации не возникали
то вышло ошибка Illegal string offset 'message'

Ошибка в том что $output - не массив, решение - добавляйте соответствующие проверки
Ответ написан
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
Когда локалка и сервер ведут себя по разному 99% это:
1. другая версия php
2. другой уровень вывода ошибок (включите все ошибки на локалке)

В данном случае, как уже абсолютно верно написал Максим Федоров надо делать проверку на массив. А разница с локалкой именно из того, что не все ошибки включены на ней. Откройте php.ini и выведите все.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы