Call to undefined function yii\validators\json_encode()

Уже исправленные репорты или принятые предложения
Закрыто
Аватара пользователя
VLD-UKRAINE
Сообщения: 20
Зарегистрирован: 2017.04.29, 18:56
Контактная информация:

Call to undefined function yii\validators\json_encode()

Сообщение VLD-UKRAINE »

Привет!
После установки Yii 2 и удовлетворения всех зависимостей requirements.php индексный файл открывается без проблем, страница About тоже, а вот при попытке открыть вкладки Contact или Login выдается ошибка (отладчик включен) Call to undefined function yii\validators\json_encode() и дается ссылка на файл и строку с ошибкой

Код: Выделить всё

    /**
     * @inheritdoc
     */
    public function clientValidateAttribute($model, $attribute, $view)
    {
        ValidationAsset::register($view);
        $options = $this->getClientOptions($model, $attribute);
 
       return 'yii.validation.required(value, messages, ' . json_encode($options, JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE) . ');';
    }
 
    /**
     * @inheritdoc
     */
    
Ошибка в 94 строке стандартного файла RequiredValidator.php (return 'yii.validation.required .......).
Система
Apache/2.4.10 (Debian)
Yii Framework/2.0.11.2
После стандартной установки.

Базу данных я не создавал, возможно идет проверка на ее существование ( точнее я ее создал но таблиц в ней нет, только имя базы - yii2basic, в db.php указал данные для подключения к базе, - думаю для старта должно было хватить, структуру и данные для тестовой базы пока не нашел, может где есть дамп - подскажите пожалуйста). Вот такая проблема. Подскажите направление копания!! Спасибо!
Аватара пользователя
samdark
Администратор
Сообщения: 9489
Зарегистрирован: 2009.04.02, 13:46
Откуда: Воронеж
Контактная информация:

Re: Call to undefined function yii\validators\json_encode()

Сообщение samdark »

Версия PHP какая?
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: Call to undefined function yii\validators\json_encode()

Сообщение zelenin »

не видит он json_encode из коробки, значит, не стоит расширение json.
Аватара пользователя
VLD-UKRAINE
Сообщения: 20
Зарегистрирован: 2017.04.29, 18:56
Контактная информация:

Re: Call to undefined function yii\validators\json_encode()

Сообщение VLD-UKRAINE »

Прежде чем написать вопрос, я почитал что Json был удален из php по лицензионным соображениям, и я доставлял его в ручную, так же я перепроверил все зависимости.
php --version
PHP 5.6.30-0+deb8u1 (cli) (built: Feb 8 2017 09:49:20)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies
Я проверял - json стоит (php5-json).
apt-get install php5-json
Уже установлена самая новая версия php5-json.
Это расширения:
/etc/php5/apache2/conf.d/05-opcache.ini,
/etc/php5/apache2/conf.d/10-pdo.ini,
/etc/php5/apache2/conf.d/20-gd.ini,
/etc/php5/apache2/conf.d/20-imagick.ini,
/etc/php5/apache2/conf.d/20-intl.ini,
/etc/php5/apache2/conf.d/20-json.ini,
/etc/php5/apache2/conf.d/20-memcache.ini,
/etc/php5/apache2/conf.d/20-mysql.ini,
/etc/php5/apache2/conf.d/20-mysqli.ini,
/etc/php5/apache2/conf.d/20-pdo_mysql.ini,
/etc/php5/apache2/conf.d/20-readline.ini

Может еще есть какой то пакет Json надо добавить или его надо ставить в какой-то очередности (первым - последним) и надо ли прописывать в php.ini как то отдельно,
extension=pdo.so
extension=pdo_mysql.so
я прописывал отдельно.
Спасибо!
Аватара пользователя
VLD-UKRAINE
Сообщения: 20
Зарегистрирован: 2017.04.29, 18:56
Контактная информация:

Re: Call to undefined function yii\validators\json_encode()

Сообщение VLD-UKRAINE »

Добавил в php.ini extension=json.so - ситуация не изменилась.
Аватара пользователя
VLD-UKRAINE
Сообщения: 20
Зарегистрирован: 2017.04.29, 18:56
Контактная информация:

Re: Call to undefined function yii\validators\json_encode()

Сообщение VLD-UKRAINE »

И в выводе phpinfo() отдельного раздела с указанием json support enabled и указание json version тоже нет (возможно его и не должно быть) но я перебираю все возможные варианты.
Аватара пользователя
VLD-UKRAINE
Сообщения: 20
Зарегистрирован: 2017.04.29, 18:56
Контактная информация:

Re: Call to undefined function yii\validators\json_encode()

Сообщение VLD-UKRAINE »

Хотя php -i дает такой вывод по json:
php -i | grep json
/etc/php5/cli/conf.d/20-json.ini,
json
json support => enabled
json version => 1.3.6
Все - варианты закончились! Дайте направление еще!
phpshko
Сообщения: 260
Зарегистрирован: 2015.03.21, 02:49

Re: Call to undefined function yii\validators\json_encode()

Сообщение phpshko »

А вы правили ini файл который показал phpinfo() в браузере в строке "Loaded Configuration File" ? Скорее всего вы поправили только для cli версии
Аватара пользователя
VLD-UKRAINE
Сообщения: 20
Зарегистрирован: 2017.04.29, 18:56
Контактная информация:

Re: Call to undefined function yii\validators\json_encode()

Сообщение VLD-UKRAINE »

В обоих файлах в разделе Dynamic Extensions прописал extension=json.so
/etc/php5/cli/php.ini
/etc/php5/apache2/php.ini
Аватара пользователя
VLD-UKRAINE
Сообщения: 20
Зарегистрирован: 2017.04.29, 18:56
Контактная информация:

Re: Call to undefined function yii\validators\json_encode()

Сообщение VLD-UKRAINE »

В общем снес я Json (apt-get purge php5-json) с ним удалилось еще 6 пакетов libapache2-mod-php5 php-pear php5 php5-cli php5-readline pkg-php-tool, после повторной установки все заработало! Спасибо кто откликнулся! Начнем изучение!
Закрыто