Laravel は、開発者が安全で信頼性が高く、保守が容易な Web アプリケーションを迅速に構築できる豊富な機能とツールを提供する、広く使用されている PHP フレームワークです。 Laravel の組み込みログ機能を使用すると、開発者は分析やトラブルシューティングのためにアプリケーション実行ログをファイルに保存できます。ただし、場合によっては、Laravel によって生成されたログ ファイルに権限の問題が発生し、正しく出力されないことがあります。
Laravel がログファイルを勝手に生成してしまう原因は、ファイルの保存場所の権限が不十分であることが考えられます。この問題を解決するには、次の方法を使用できます。
chmod -R 775 storage/logs
'log' => env('APP_LOG', 'single'), 'path' => '/your/folder/path/logs/laravel.log', 'level' => env('LOG_LEVEL', 'debug'), 'channels' => [ // ... ],
CREATE TABLE `logs` ( `id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT, `channel` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `level` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `message` text COLLATE utf8mb4_unicode_ci NOT NULL, `context` text COLLATE utf8mb4_unicode_ci NOT NULL, `extra` text COLLATE utf8mb4_unicode_ci NOT NULL, `created_at` datetime(6) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
use Illuminate\Support\Facades\Log; use Monolog\Handler\StreamHandler; use Monolog\Logger; public function boot() { $logger = new Logger('laravel'); $logger->pushHandler(new StreamHandler(storage_path('logs/laravel.log'), Logger::DEBUG)); Log::listen(function ($level, $message, $context) use ($logger) { $logger->$level($message, $context); }); }
3 番目のステップは、config/logging.php ファイルを変更することです
config/logging.php ファイル内の構成も変更し、ログ オプションをデータベースに設定します:
'log' => 'database', 'channels' => [ // ... ],
上記の 3 つの方法は、開発者が Laravel によって生成されたログ ファイルにアクセス許可がない問題を解決するのに役立ちます。3 番目の方法では、開発者がアプリケーションのログ情報をより適切に管理および分析できるようになります。
以上がlaravelで生成されたログに権限がないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。