当前位置: 首页 > 面试题库 >

在运行`php app / console doctrine:schema:create`时对“没有这样的文件或目录”进行故障排除

彭仲卿
2023-03-14
问题内容

我是Symfony2(beta4)和Doctrine的新手,尝试通过命令行创建数据库模式时遇到问题。

这是错误:

$ php app/console doctrine:schema:create

Creating database schema...

[PDOException]                                    
SQLSTATE[HY000] [2002] No such file or directory

[ErrorException]                                                                                          
Warning: PDO::__construct(): [2002] No such file or directory (trying to connect via unix:///var/mysql/mysql.sock) 
in /Applications/MAMP/htdocs/sf-test-2/vendor/doctrine-dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php line 36

mysql数据库设置已正确插入config / parameters.ini文件中。

这是config.yml中的Doctrine配置

# Doctrine Configuration
doctrine:
    dbal:
        driver:   %database_driver%
        host:     %database_host%
        dbname:   %database_name%
        user:     %database_user%
        password: %database_password%

    orm:
        auto_generate_proxy_classes: %kernel.debug%
        auto_mapping: true

和实体(我只做了一个测试)

<?php
// src/Acme/NewsBundle/Entity/Article.php
namespace Acme\NewsBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity
 * @ORM\Table(name="articles")
 */
class Article
{
    /**
     * @ORM\Id
     * @ORM\Column(type="integer")
     * @ORM\GeneratedValue(strategy="AUTO")
     */
protected $id;

/**
 * @ORM\Column(type="string", length="255")
 */
protected $title;

/**
 * @ORM\Column(type="text")
 */
protected $body;

/**
 * @ORM\Column(type="string", length="255")
 */
protected $author;

/**
 * @ORM\Column(type="date")
 */
protected $date;
}
?>

问题答案:

我通过遵循此小教程对其进行了修复:http :
//andreys.info/blog/2007-11-07/configuring-terminal-to-work-with-mamp-mysql-
on-leopard

[编辑]:我修改了正确的php.ini,现在一切正常。

现在我得到以下错误:

[Exception]                                                                                            
 DateTime::__construct(): It is not safe to rely on the system's timezone settings.
 You are *required* to use the date.timezone setting or the date_default_timezone_set() function.
 In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier.
 We selected 'Europe/Berlin' for 'CEST/2.0/DST' instead

这是php.ini中的date.timezone配置

date.timezone = "Europe/Paris"

我会尝试自己解决这个问题,但是如果您知道如何解决它,请立即对此发表评论。谢谢!



 类似资料:
  • 失败并记录以下内容: 我迷路了,因为文件和目录存在。脚本是可执行的,为了检查,我甚至将权限设置为777。 一些背景: 不确定这是否重要,但我使用作为shell(从.bashrc开始)。 我很乐意发布完整的脚本,如果这是有帮助的。

  • 问题内容: 如何检查服务器上发送的邮件有问题?我运行一个简单的测试: 测试输出哪个文本;但是,没有邮件到达。 我该如何追踪问题? 问题答案: 这是一个很长的故事。一些要点(假设mail()返回true,并且错误日志中没有错误): 发件人地址(“发件人”)是否属于您服务器上的域?如果不是,请这样做。 您的服务器是否列入黑名单(例如,在spamhaus.org上检查IP)?共享托管的可能性很小。 邮件

  • 我有一个shell脚本文件,我想从java运行。我的java工作空间目录与脚本的目录不同。 我收到此错误: 我在谷歌上搜索了一下,每一个解决方案都表明我在做正确的事情。 我试图把脚本文件放在src和Java项目的bin中,但它仍然说没有这样的文件或目录。 我做错了什么? 谢谢

  • java_home=“/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/” 这是我当前的java设置: root@ubuntu:~#update-alternative-config java在链接组java中只有一个替代方案(提供/usr/bin/java):/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java http:

  • 问题内容: 我在Windows中使用Code :: Blocks。 我创建了一个dll项目,试图获得一些JNI实践。 在javah生成的.h文件中,有#include jni.h,但是当我尝试对其进行编译时,它总是说jni.h:没有这样的文件或目录。 我认为这与classpath有关,但我不知道它是什么!可能是我必须更改Code :: Blocks的设置 有人可以帮我解决这个问题吗?非常感谢 编辑

  • 问题内容: 我从节点应用程序收到此错误: 我知道文件在那里,因为当我尝试使用确切的复制和粘贴路径打开文件时,它可以工作。我也知道应用程序使用的是正确的目录,因为它会在错误中输出它。 问题答案: 波浪形扩展是一件空壳的事情。编写正确的路径名(可能是yourusername )或使用