我正在尝试安装Symfony2。我在做什么在这里描述http://symfony.com/doc/current/quick_tour/the_big_picture.html:
(这总结了作曲家的安装)
输入所有参数(安装的最后一步)后,我在控制台中遇到此错误(我将symfony2安装到 - / vagrant / webroot / pavel的路径 - 在我的虚拟机上):
PHP Fatal error: Interface 'Psr\Log\LoggerInterface' not found in /vagrant/webroot/pavel/vendor/monolog/monolog/src/Monolog/Logger.php on line 28
Script Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache handling the post-install-cmd event terminated with an exception
[RuntimeException]
An error occurred when executing the "'cache:clear --no-warmup'" command.
create-project [-s|--stability="..."] [--prefer-source] [--prefer-dist] [--repository-url="..."] [--dev] [--no-dev] [--no-plugins] [--no-custom-installers] [--no-scripts] [--no-progress] [--keep-vcs] [--no-install] [package] [directory] [version]
因此有两个错误:1关于LoggerInterface,另一个关于缓存清除。我不知道他们是否有关系。 安装后我转到我的localhost / app_dev.php,我再次收到第一个错误,但现在在浏览器中:
Fatal error: Interface 'Psr\Log\LoggerInterface' not found in /vagrant/webroot/pavel/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Log/LoggerInterface.php on line 25
我真的需要帮助,因为我想在不依赖任何自定义操作的情况下“正确”地完成symfony2的每个部分。
更新(有人要我发布作曲家)
我通过命令安装我在这篇文章中解释得更高,因此作曲家是自我生成的,这意味着它不是由我创建的,它应该工作。但无论如何:
{
"require": {
"symfony/symfony": "2.5.*"
},
"autoload": {
"files": ["model.php","controllers.php"]
}
}
答案 0 :(得分:0)
一个常见问题是app / cache和app / logs目录必须可由Web服务器和命令行用户写入。在UNIX系统上,如果您的Web服务器用户与命令行用户不同,则必须对文件夹进行chmod以确保正确设置权限。
如果仍然无法使用设置为755或777的权限(仅用于在开发环境中进行测试),请在浏览器中看到此消息时尝试清除缓存和日志
sudo rm -rf app / cache / * app / logs / *
答案 1 :(得分:-1)
它看起来像文件夹权限的问题。可能Symfony希望在安装后清除缓存。 (我不确定,但这是我要检查的第一件事。
您也可以查看作曲家是否有最新版本。