我是Symfony的新手,并开始做一些教程,以便完成一些事情.我正在研究Linux Mint 18机器和标准的Symfony3项目.
我想创建一个简单的数据库来玩它,但我遇到一个错误,我找不到合适的解决方案.
我的parameters.yml文件如下所示:
parameters:
database_host: localhost
database_port: null
database_name: symfony
database_user: root
database_password: null
mailer_transport: smtp
mailer_host: 127.0.0.1
mailer_user: null
mailer_password: null
secret: (not relevant)
Run Code Online (Sandbox Code Playgroud)
我的Genus.php文件如下所示:
namespace AppBundle\Genus;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity
* @ORM\Table(name="genus")
*/
class Genus
{
/**
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\Column(type="string")
*/
private $name;
}
Run Code Online (Sandbox Code Playgroud)
当我执行命令dpkg -l php*mysql时,我得到以下结果:
dpkg -l php*mysql
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-=================-=============-=============-============================
un php-pdo-mysql <none> <none> (no description available)
ii php7.0-mysql 7.0.8-0ubuntu amd64 MySQL module for PHP
un php7.0-pdo-mysql <none> <none> (no description available)
Run Code Online (Sandbox Code Playgroud)
当我尝试使用命令提示符创建本地数据库时
XXX@XXX-pc ~/PhpstormProjects/test_symfony $ php bin/console doctrine:database:create
Run Code Online (Sandbox Code Playgroud)
这就是我得到的:
[Doctrine\DBAL\Exception\ConnectionException]
驱动程序中发生异常:SQLSTATE [HY000] [2002]没有这样的文件或目录
[Doctrine\DBAL\Driver\PDOException] SQLSTATE [HY000] [2002]没有这样的文件或目录
[PDOException ] SQLSTATE [HY000] [2002]没有这样的文件或目录
我遇到过很多其他话题,但未能找到正确的答案.谁能告诉我这里缺少什么?任何帮助深表感谢 :)
小智 5
可能为时已晚,但我在 symfony 3.2.9 部署中遇到了同样的问题“SQLSTATE[HY000] [2002] No such file or directory”
我通过将 database_host 值从“localhost”更改为我的 parameters.yml 文件中的服务器 IP 来修复它
但是在尝试通过 SSH 运行命令行时,我收到了另一条错误消息:
[Doctrine\DBAL\Exception\ConnectionException]
An exception occured in driver: SQLSTATE[HY000] [2002] Connection refused
Run Code Online (Sandbox Code Playgroud)
我最终通过在 Doctrine 配置部分的 config.yml 文件中添加这两行来修复它:
unix_socket: /var/lib/mysql/mysql.sock
server_version: '5.5'
Run Code Online (Sandbox Code Playgroud)
我所有的最终学说配置是这样的:
doctrine:
dbal:
driver: pdo_mysql
host: '%database_host%'
port: '%database_port%'
dbname: '%database_name%'
user: '%database_user%'
password: '%database_password%'
unix_socket: /var/lib/mysql/mysql.sock
server_version: '5.5'
charset: UTF8
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助某人
小智 1
[PDOException] SQLSTATE[HY000] [2002] 没有这样的文件或目录
当您的 Web 应用程序未连接到数据库时,通常会发生此错误。根据你的parameter.yml,它正在搜索mysql服务器并且没有连接,因为当时mysql没有安装在你的机器上。
| 归档时间: |
|
| 查看次数: |
24579 次 |
| 最近记录: |