无法打开日志文件“../log/backend_dev.log”进行写入?

时间:2011-12-10 06:24:15

标签: php symfony1 symfony-1.4

我是symfony的新手,我正在阅读Practical Symfony,我正在Linux和Windows上工作。我使用GitHub移动我的更改。昨天我在我的Windows机器上创建了一个小项目并将其推送到github https://github.com/showketbhat/medicine。我今天在Linux机器上提取代码我改变了我的数据库的一些配置。现在,当我尝试打开我的索引页面时,它显示以下错误消息: -

500 | Internal Server Error | sfFileException

无法打开日志文件“D:\ sfproject \ medicine \ log / backend_dev.log”进行写入。 堆栈跟踪

* at ()
  in SF_ROOT_DIR/lib/vendor/symfony/lib/log/sfFileLogger.class.php line 75 ...
          72.     $fileExists = file_exists($options['file']);
          73.     if (!is_writable($dir) || ($fileExists && !is_writable($options['file'])))
          74.     {
          75.       throw new sfFileException(sprintf('Unable to open the log file "%s" for writing.', $options['file']));
          76.     }
          77.
          78.     $this->fp = fopen($options['file'], 'a');

我尝试将backend_dev.log文件的权限更改为777,但没有任何反应。谁能帮我吗?

使用php symfony项目后:权限

>> chmod 777 /home/sfprojects/medicine/cache
>> chmod 777 /home/sfprojects/medicine/log
>> chmod 777 /home/sfprojects/medicine/symfony 
....
....

3 个答案:

答案 0 :(得分:3)

首先,您必须清除缓存并重新加载页面。

rm -rf cache/*

php symfony cc

答案 1 :(得分:0)

错误消息D:\sfproject\medicine\log/backend_dev.log中的路径是Windows路径,而不是Linux路径。我猜你在某个配置文件中设置了这个 - 将它改为Linux机器上的有效路径。

答案 2 :(得分:0)

你想使用你的php安装提供的DIRECTORY_SEPARATOR常量,并且在unix和windows之间是不同的。