Я использую CakePHP 4 на установке Linux Mint cinnamon со стеком LAMPP. У меня есть база данных с пользователями, и все поварские шляпы PHP зеленые. Приложение также может извлекать данные из моей базы данных при работе в браузере.
Я хочу испечь модель/контроллер/представления моих пользователей:
bin/cake bake all users
Это возвращает следующую ошибку:
Exception: Connection to Mysql could not be established: SQLSTATE[HY000] [2002] No such file or directory
In [/opt/lampp/htdocs/tgi-flydays-4/vendor/cakephp/cakephp/src/Database/Driver.php, line 107]
Похоже, подключение к базе данных через PDO не работает:
99 try {
100 $connection = new PDO(
101 $dsn,
102 $config['username'] ?: null,
103 $config['password'] ?: null,
104 $config['flags']
105 );
106 } catch (PDOException $e) {
107 throw new MissingConnectionException(
108 [
109 'driver' => App::shortName(static::class, 'Database/Driver'),
110 'reason' => $e->getMessage(),
111 ],
112 null,
113 $e
114 );
115 }
У меня правильно указаны данные подключения к базе данных в app_local.php
(как сказано: запуск приложения в браузере отлично работает с базой данных).
Я установил php7.4_pdo_mysql
и php7.4-mysql
, запуск php -m
возвращает следующее:
[PHP Modules]
calendar
Core
ctype
date
exif
FFI
fileinfo
filter
ftp
gettext
hash
iconv
intl
json
libxml
mbstring
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
Phar
posix
readline
Reflection
session
shmop
sockets
sodium
SPL
standard
sysvmsg
sysvsem
sysvshm
tokenizer
Zend OPcache
zlib
[Zend Modules]
Zend OPcache
php -i
возвращает (среди прочего):
PDO
PDO support => enabled
PDO drivers => mysql
pdo_mysql
PDO Driver for MySQL => enabled
Client API version => mysqlnd 7.4.5
Я также пробовал следующие решения: