Установил по инструкции https://github.com/yiisoft/yii2-redis Если написать PHP: Yii::$app->redis->set('mykey', 'some value'); echo Yii::$app->redis->get('mykey'); то будет ошибка Код (Text): Database Exception – yii\db\Exception Error Info: Код (Text): in C:\OSPanel\domains\images.loc\vendor\yiisoft\yii2-redis\src\Connection.php at line 565 556557558559560561562563564565566567568569570571572573574 $this->executeCommand('AUTH', [$this->password]); } if ($this->database !== null) { $this->executeCommand('SELECT', [$this->database]); } $this->initConnection(); } else { \Yii::error("Failed to open redis DB connection ($connection): $errorNumber - $errorDescription", __CLASS__); $message = YII_DEBUG ? "Failed to open redis DB connection ($connection): $errorNumber - $errorDescription" : 'Failed to open DB connection.'; throw new Exception($message, $errorDescription, $errorNumber); } } /** * Closes the currently active DB connection. * It does nothing if the connection is already closed. */ public function close() { 2. in C:\OSPanel\domains\images.loc\vendor\yiisoft\yii2-redis\src\Connection.php at line 665 – yii\redis\Connection::open() 659660661662663664665666667668669670671 * See [redis protocol description](http://redis.io/topics/protocol) * for details on the mentioned reply types. * @throws Exception for commands that return [error reply](http://redis.io/topics/protocol#error-reply). */ public function executeCommand($name, $params = []) { $this->open(); $params = array_merge(explode(' ', $name), $params); $command = '*' . count($params) . "\r\n"; foreach ($params as $arg) { $command .= '$' . mb_strlen($arg, '8bit') . "\r\n" . $arg . "\r\n"; } 3. in C:\OSPanel\domains\images.loc\vendor\yiisoft\yii2-redis\src\Connection.php at line 630 – yii\redis\Connection::executeCommand('SET', ['mykey', 'some value']) 624625626627628629630631632633634635636 * @return mixed */ public function __call($name, $params) { $redisCommand = strtoupper(Inflector::camel2words($name, false)); if (in_array($redisCommand, $this->redisCommands)) { return $this->executeCommand($redisCommand, $params); } else { return parent::__call($name, $params); } } /** 4. in C:\OSPanel\domains\images.loc\frontend\models\User.php at line 215 – yii\redis\Connection::__call('set', ['mykey', 'some value']) 209210211212213214215216217218 $redis->sadd("user:{$this->getId()}:subcribtions", $user->getId()); $redis->sadd("user:{$this->getId()}:followers", $user->getId()); * */ Yii::$app->redis->set('mykey', 'some value'); echo Yii::$app->redis->get('mykey'); } } 5. in C:\OSPanel\domains\images.loc\frontend\controllers\ProfileController.php at line 45 – frontend\models\User::followUser(frontend\models\User) 39404142434445464748495051 } $currentUser = Yii::$app->user->identity; $user = $this->findUserById($id); $currentUser->followUser($user); return $this->redirect(['/profile/view', 'nickname' => $user->getNickname()]); } 6. frontend\controllers\ProfileController::actionSubscribe('1') 7. in C:\OSPanel\domains\images.loc\vendor\yiisoft\yii2\base\InlineAction.php at line 57 – call_user_func_array([frontend\controllers\ProfileController, 'actionSubscribe'], ['1']) 8. in C:\OSPanel\domains\images.loc\vendor\yiisoft\yii2\base\Controller.php at line 157 – yii\base\InlineAction::runWithParams(['id' => '1']) 9. in C:\OSPanel\domains\images.loc\vendor\yiisoft\yii2\base\Module.php at line 528 – yii\base\Controller::runAction('subscribe', ['id' => '1']) 10. in C:\OSPanel\domains\images.loc\vendor\yiisoft\yii2\web\Application.php at line 103 – yii\base\Module::runAction('profile/subscribe', ['id' => '1']) 11. in C:\OSPanel\domains\images.loc\vendor\yiisoft\yii2\base\Application.php at line 386 – yii\web\Application::handleRequest(yii\web\Request) 12. in C:\OSPanel\domains\images.loc\frontend\web\index.php at line 17 – yii\base\Application::run() 11121314151617 require __DIR__ . '/../../common/config/main.php', require __DIR__ . '/../../common/config/main-local.php', require __DIR__ . '/../config/main.php', require __DIR__ . '/../config/main-local.php' ); (new yii\web\Application($config))->run(); $_GET = [ 'id' => '1', ]; $_COOKIE = [ 'advanced-frontend' => 'qdt10qssj4rr8l4epvpb1eo6ucn96vs9', '_csrf-frontend' => '8e6d55803bd0060a57ce5a418b92d5f9e21cc41a73438c875b31bb0a067cbb29a:2:{i:0;s:14:"_csrf-frontend";i:1;s:32:"ttdhIxlbEMbJ65cKaeRfytxrJ-CCPylB";}', ]; $_SESSION = [ '__flash' => [], 'yii\\authclient\\clients\\VKontakte_vkontakte_token' => unserialize('O:25:"yii\\authclient\\OAuthToken":5:{s:13:"tokenParamKey";s:12:"access_token";s:19:"tokenSecretParamKey";s:18:"oauth_token_secret";s:15:"createTimestamp";i:1523011615;s:50:"' . "\0" . 'yii\\authclient\\OAuthToken' . "\0" . '_expireDurationParamKey";s:10:"expires_in";s:34:"' . "\0" . 'yii\\authclient\\OAuthToken' . "\0" . '_params";a:4:{s:12:"access_token";s:85:"748b2f6551e8774592f300746475708d652128aa7eaf0cc22bad79efa6076c86c13c5a8b765b84fe70a02";s:10:"expires_in";i:86398;s:7:"user_id";i:26291131;s:5:"email";s:24:"secret.sec2014@yandex.ru";}}'), '__id' => 2, ]; --- Добавлено --- ещё ссылка на $app работает, на redis не работает --- Добавлено --- А если в консоле написать redis-cli, то пишет redis-cli" не является внутренней или внешней командой.
@nospiou apt-get install redis php-redis "apt-get" не является внутренней или внешней командой, исполняемой программой или пакетным файлом. --- Добавлено --- @nospiou установил, что было здесь https://github.com/yiisoft/yii2-redis/blob/master/docs/guide/installation.md --- Добавлено --- --- Добавлено --- @nospiou установил так composer require predis/predis
это под ubuntu в macos brew а в винде скорее всего какой то инсталлер php -m что показывает? Юзай vagrant
из инструкции по Laravel пишут Настройки вашего подключения к Redis хранятся в файле config/database.php. а в yii2 нету такой папки config --- Добавлено --- @nospiou Код (Text): php -m [PHP Modules] bcmath bz2 calendar Core ctype curl date dom exif fileinfo filter ftp gd gettext hash iconv igbinary imap json libxml mbstring mongodb mysqli mysqlnd odbc openssl pcre PDO pdo_mysql pdo_pgsql pdo_sqlite Phar readline redis Reflection session SimpleXML soap sockets SPL sqlite3 standard timezonedb tokenizer wddx xml xmlreader xmlrpc xmlwriter xsl zip zlib [Zend Modules]
Composer это библиотека для работы с redis php-redis это модуль php а еще есть сервер redis как сервер mysql. Вот нагуглил пробуй https://github.com/MicrosoftArchive/redis/releases и о vagrant тоже задумайся.
там samba папка будет локальной а консоль реальной Хотя можешь и сам сервер поднять и все настроить без него. Тут уж от знания linux зависит.
@nospiou я никак не могу понять, пару месяцев назад, установил линукс в виртуалку, настроил всё и запускал, через браузер на винде, всё работало, сейчас решил запустить и сайт не открывается, почему? Никаких изменений не делал. В hosts прописано 127.0.0.1 test-lamp.local, по такому адресу, надо открывать в линуксе В пробросе портов, тоже всё правильно написано, порт хоста 8081, порт гостя 80 Перехожу по адресу http://test-lamp.local:8081 и не открывается
127.0.0.1 это ты в винде прописал?) Как у тебя там виртуалка оказалась? ifconfig на linux какой ip показывает?
@nospiou да на винде, в смысле оказалась? я ставил lamp и lemp, вот lamp не работает из под винды, а lemp работает