Installation 无法使用基本Silex记录器

Installation 无法使用基本Silex记录器,installation,silex,monolog,Installation,Silex,Monolog,我有一个简单的代码: <?php require_once __DIR__.'/../vendor/autoload.php'; $app = new Silex\Application(); $app->get('/hello', function() { return 'Hello!'; }); //$app->register(new Silex\Provider\MonologServiceProvider(), array( // 'monolog.logf

我有一个简单的代码:

<?php

require_once __DIR__.'/../vendor/autoload.php';

$app = new Silex\Application();
$app->get('/hello', function() { return 'Hello!'; });
//$app->register(new Silex\Provider\MonologServiceProvider(), array(
//    'monolog.logfile' => __DIR__.'/development.log',
//));
$app->run();
?>
我尝试了通过fat zip和composer进行安装,但结果相同。我没有主意了


任何帮助都将不胜感激。

通过广泛跟踪简单代码,问题得以解决。服务器似乎无法写入web目录

chmod 777./web
#解决它

这就引出了最后几个问题:

  • 在安全的生产环境中,web目录的权限和所有权应该是什么

    来自 日志应包含在web API目录之外的目录中

  • 当日志服务不起作用时,或者当没有注册日志服务并且我们确实需要开发人员注意时,错误记录在哪里?是否有任何低级别的回退服务

    来自 查看web服务器日志以查找这些类型的错误


  • “什么都不管用”不是一个好的描述?错误信息是什么?您是否检查了Web服务器日志?Web服务器日志应该放在哪里?我可能需要在php.ini或其他配置中声明它?对,webserver登录在/var/log/apache2/error.log中。错误记录在那里。可在apache ErrorLog指令中配置。哈,是新手!你不应该把你的日志放在你的webroot下,这样你就可以从外部访问它了!至少往上一层说,我的项目在
    web
    之外还有一个
    log
    文件夹,日志就在那里。你所经历的错误的缺失完全不是silex特有的。您的web服务器在运行时带有
    display\u errors=Off
    (应该在生产中使用)。默认情况下,它仍将登录到apache错误日志中。如果未使用
    mod_php
    ,请配置
    error_log
    指令。
    $app->register(new Silex\Provider\MonologServiceProvider(), array(
        'monolog.logfile' => __DIR__.'/development.log',
    ));