我正在尝试使用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路径?或者在哪里继续“调试”?
答案 0 :(得分:0)
Doctrine使用PHP的sys_get_temp_dir来确定临时路径。我通过搜索'tmp_doctrine_models'的Doctrine来源找到了这个。
您的主机不允许写入临时目录似乎有点奇怪。