Вопросы о Vagrant
учусь работать с vagrant, уже создал VirtualMachine
, сделал provisionamentos, проект приготовлено идеально.
, Но когда я вхожу через ssh - в VirtualMachine
для запуска сценария php, который работает через оболочку, на котором возникла ошибка соединения с mysql - .
"cdbconnection failed to open the db connection: could not find driver"
, Использую framework =. Другое дело, когда ракель в vagrant reload теряю доступ к веб-серверу удаленно.
2 answers
Сообщение об ошибке ясно: драйвер для доступа к базе данных MySQL не найден.
, Вероятно, расширение не была включена. Проверьте ваш php.ini
. В Windows, что-то вроде:
extension_dir="C:/php5/ext/"
extension=php_mysql.dll
И В другие системы, типа что-то:
extension_dir="/usr/lib/php/modules/"
extension=mysql.so
Пользователя Windows, сказал, что Yii требует extension=php_pdo_mysql.dll
(то есть, "php_pdo_mysql" вместо "php_mysql").
Важно также помнить, перезапустить PHP и/или Apache после внесения внесение изменений в файлы конфигурации.
Источников:
Ваш DSN показывает, что вы пытаетесь использовать драйвер MySQL и сообщение об ошибке указывает, что драйвер недоступен.
Убедитесь, что расширение установлено.
В Ubuntu/Debian можете сделать следующее, чтобы проверить, установлен ли он
dpkg --get-selections | grep php5-mysql
, Если нет, можно установить так
sudo apt-get install php5-mysql
Вскоре после этого перезапустите apache, чтобы новые параметры вступили в силу.
sudo /etc/init.d/apache2 restart
Если уже установлен, проверьте, какой, на какой хост MySQL принимает соединения. Выполните
sudo nano /etc/mysql/my.cnf
Измените bind-address
для 0.0.0.0
слушать соединения с любого IP.
bind-address = 0.0.0.0
Даете разрешение на подключение для всех IPs
mysql -u root -p
В командной строке MySQL введите
use mysql
// Caso o root não possua senha use
GRANT ALL PRIVILEGES ON *.* TO root@'%'
// Se tiver senha use
GRANT ALL ON *.* to root@'%' IDENTIFIED BY 'senha';
FLUSH PRIVILEGES;
exit
Перезапустите MySQL
sudo /etc/init.d/mysql restart