symfony 1.4.8+ doctrine - > doctrine:build-schema致命错误打开所需的/tmp/tmp_doctrine/User.php

时间:2010-10-16 16:15:35

标签: symfony1 doctrine

我正在尝试使用symfony,所以我开始在远程mashine上通过ssh安装它(普通用户,无root访问权限)

当通过发出以下命令到达我想用现在的带有doctrine的mysql数据库生成db-schema的部分时:

./symfony doctrine:build-schema

我收到以下错误:

Warning: require_once(): '/tmp/tmp_doctrine_models/User.php' is not a valid path for inclusions, since it includes /tmp/ in /home/users/mpretftp/test1/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Core.php on line 668

Warning: require_once(/tmp/tmp_doctrine_models/User.php): failed to open stream: Success in /home/users/mpretftp/test1/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Core.php on line 668

Fatal error: require_once(): Failed opening required '/tmp/tmp_doctrine_models/User.php' (include_path='.:/usr/share/php:/usr/share/pear') in /home/users/mpretftp/test1/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Core.php on line 668

通过“反过来做”,创建像这样的database.yaml:

User:
  actAs: { Timestampable: ~  }
  columns:
    id: { type: integer, notnull: true }
    hash: { type: string(255), notnull: true }

然后尝试./symfony doctrine:build --model我得到以下内容,甚至是更奇怪的错误:

 ./symfony doctrine:build --model
>> doctrine  generating model classes
>> file+     /tmp/doctrine_schema_70737.yml


  Invalid schema element named "0" at path "Warning"

另外,(远程mashine的)主机对joomla错误消息进行了评论。一方面我意识到joomla与symfony和doctrine无关。但错误消息类似于我上面粘贴的第一个警告:“...不是包含的有效路径,因为它包含'/ tmp /'在....”。建议的joomla-error解决方案是将/ tmp / path更改为joomla配置中的/ home / users / user / tmp

我最好的猜测是,我需要说服学说使用另一条道路。不幸的是,我找不到这样的学说配置选项。

有没有人可以告诉我如何设置doctrine / symfony或php甚至环境的tmp路径?或者在哪里继续“调试”?

1 个答案:

答案 0 :(得分:0)

Doctrine使用PHP的sys_get_temp_dir来确定临时路径。我通过搜索'tmp_doctrine_models'的Doctrine来源找到了这个。

您的主机不允许写入临时目录似乎有点奇怪。