2.0 и docker на локали 10 винды. И вот все бы хорошо работало, если бы не одно но.
А именно - .env так настроен что DB_HOST=mysql
DB_PORT=3306
REDIS_HOST=redis
REDIS_PORT=6379
При такой конфигурации у меня все отлично записывается из сервера и laravel работает, не через консоль.
А через консоль нет, бросает ошибку (даже просто при вводе php artisan):
SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Name or service not known (SQL: select * from information_schema.tables where table_schema = database and table_name = permissions and table_type = 'BASE TABLE')
И это решается если немного подправить .env на: DB_HOST=127.0.0.1
DB_PORT=33061
Но после этого прокидывает ошибку связанную с Redis:
Error while reading line from the server. [tcp://redis:6379] {"exception":"[object] (Predis\\Connection\\ConnectionException(code: 0): Error while reading line from the server. [tcp://redis:6379] at /var/www/html/vendor/predis/predis/src/Connection/AbstractConnection.php:155)
И уже это решается правкой .env на:
REDIS_HOST=127.0.0.1
REDIS_PORT=63790
После этих манипуляций я могу работать из консоли, выполнять команды artisan, запускать очереди и прочую радость. Но при попытке постучаться к серверу запросом я получаю описанные выше ошибки, и правятся они изменением конфигов на те что были указаны выше.
Все было бы хорошо, черт с ним, я менял бы конфиги, если бы мне не пришлось работать с очередями и воркерами, и вот там получается мне нужна и консоль, и сервер сразу же.
И вот вопросы:
Могу ли я как-то этот вопрос решить чтобы можно было и там и там работать?
Если нельзя их подружить, то может можно как-то в зависимости от используемого способа работы (или сервер или консоль) подставлять нужный файл .env чтобы они не ругались?
А команды артисан ты выполняешь локально или в контейнере ?
Захожу в консоль, перехожу в wsl, захожу в laravel директорию, выполняю php artisan
а надо выполнять из контейнера пыхи с ларой
могу бросить конфиги, если сможешь помочь, то был бы очень благодарен
а то вроде и не сложно должно быть, но я с докером пока только начинаю работать, понимаю что нужно учить и учить, но сейчас желательно сделать чтобы работало
Обсуждают сегодня