Symfony2 Nginx 404错误和RuntimeException:无法在logs目录中写入

时间:2014-03-18 14:05:29

标签: symfony nginx

我使用php fpm安装了Nginx并进行了配置,在我下载Symfony2之前,一切似乎都运行良好。当我尝试访问app.php时,我得到服务器返回" 404 Not Found"。错误,当我尝试访问app_dev.php时,我得到RuntimeException:无法在logs目录中写入,因为我在http://symfony.com/doc/current/book/installation.html教程中尝试使用ACL提供的错误说明了permisions问题,但是没有' t帮助,事件尝试"揭露(0000)"在app / console,web / app_dev.php,web / app.php中,也没有成功。 我的nginx设置:

upstream phpfcgi {
    #server 127.0.0.1:9000;
    server unix:/var/run/php5-fpm.sock; #for PHP-FPM running on UNIX socket
}
server {
    listen 80;

    server_name localhost;
    root /home/antanas/public_html/demo/web;

    error_log /var/log/nginx/demo.error.log;
    access_log /var/log/nginx/demo.access.log;

    # strip app.php/ prefix if it is present
    rewrite ^/app\.php/?(.*)$ /$1 permanent;

    location / {
        index app.php;
        try_files $uri @rewriteapp;
    }

    location @rewriteapp {
        rewrite ^(.*)$ /app.php/$1 last;
    }

    # pass the PHP scripts to FastCGI server from upstream phpfcgi
    location ~ ^/(app|app_dev|config)\.php(/|$) {
        fastcgi_pass phpfcgi;
        fastcgi_split_path_info ^(.+\.php)(/.*)$;
        include fastcgi_params;
        fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param  HTTPS off;
    }
}

这个问题的原因可能是什么?

1 个答案:

答案 0 :(得分:2)

如果您收到应用程序无法写入日志的错误,则需要确保Symfony日志对于Web用户是可写的。

转到Symfony / app / logs。你会看到dev.logprod.log。这两个文件应该是Web用户可写的。

要进行测试,您可以为每个人提供写入权限chmod a+w dev.log,看看是否能解决问题。如果是,您可能希望探索更好的日志权限。