gpt4 book ai didi

php - 测试 monlog 包时出现 500 错误

转载 作者:行者123 更新时间:2023-12-04 17:02:00 26 4
gpt4 key购买 nike

我正在尝试使用 composer 测试 monolog 包(完全披露:这是我第一次尝试使用 composer)并且在运行此代码时出现 500 错误:

<?php

// composer autoloader
require_once 'vendor/autoload.php';


// Shortcuts for simpler usage
use \Monolog\Logger;
use \Monolog\Formatter\LineFormatter;
use \Monolog\Handler\StreamHandler;

// Common logger
$log = new Logger('files');
// Line formatter without empty brackets in the end
$formatter = new LineFormatter(null, null, false, true);
// Debug level handler
$debugHandler = new StreamHandler('debug.log', Logger::DEBUG);
$debugHandler->setFormatter($formatter);
// Error level handler
$errorHandler = new StreamHandler('error.log', Logger::ERROR);
$errorHandler->setFormatter($formatter);
// This will have both DEBUG and ERROR messages
$log->pushHandler($debugHandler);
// This will have only ERROR messages
$log->pushHandler($errorHandler);
// The actual logging
$log->debug('I am debug');
$log->error('I am error', array('productId' => 123));

?>

我在 Dreamweaver 中看到 monolog_test.php 中的三个“使用”行以红色突出显示:

enter image description here

错误信息是:

enter image description here

在我的/Applications/MAMP/logs/php_error.log 中:

[03-Mar-2018 14:10:05 America/Toronto] PHP Fatal error: Class 'Monolog\Logger' not found in /Users/Ross/Dropbox/htdocs/wonderfest/secure/contest/monolog_test.php on line 13



我的文件系统设置如下所示:

enter image description here

我在 Mac 上全局安装了 Composer,我知道安装很好,因为我能够使用 composer require 添加一些包。我的 composer.json 文件:
{
"require": {
"monolog/monolog": "1.0",
"phpfastcache/phpfastcache": "^6.1",
"mpdf/mpdf": "^7.0"
}
}

还有我的 vendor\autoload.php:
<?php

// autoload.php @generated by Composer

require_once __DIR__ . '/composer/autoload_real.php';

return ComposerAutoloaderInit348f040c8a2a7d48c0a311fb1af10c08::getLoader();

我想我的问题是:除了安装包以使它们的命名空间可用之外,我还需要做些什么吗?

最佳答案

我将 monolog 更新为最新的稳定版本,虽然 Dreamweaver 中的 3 行“use”仍然显示为错误,但它可以工作。让我感到困惑的是 monolog 包页面上的这一行:

Monolog works with PHP 7.0 or above, use Monolog ^1.0 for PHP 5.3+ support.



我认为这意味着我需要为 PHP 5.6.32 使用 v1.0,但是当我从 require 命令中删除该版本约束时,一切似乎都可以正常工作 - 我将两个日志与 monolog_test.php 文件放在同一文件夹中.

我的新 composer.json(安装了一个额外的包):
{
"require": {
"monolog/monolog": "^1.23",
"mpdf/mpdf": "^7.0",
"phpfastcache/phpfastcache": "^6.1",
"phpmailer/phpmailer": "^6.0"
}
}

关于php - 测试 monlog 包时出现 500 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49086535/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com