Php

在 IIS 8 上輪換 PHP 日誌

  • August 3, 2017

我有一個與此類似的問題似乎沒有一個滿意的解決方案。它提到 using rotatelog.exewhich 是 Apache 框架的一部分,我無法使用。

我從我的前任那裡繼承了一個 Windows 2012 R2 Web 伺服器,它通過 IIS 8.5 提供 PHP 文件。我最近嘗試診斷我們的一個站點的問題,結果發現 PHP 錯誤日誌的大小為幾 GB(可追溯到 2013 年)。

理想情況下,我想每天或每月輪換這些日誌。

我怎樣才能做到這一點?PHP 是 5.4,但任何版本的方法都可以接受。

我用批處理腳本解決了這個問題,並將腳本添加到任務計劃程序以每天執行。我知道我可以在 PowerShell 中編寫此程式碼,但我對 shell 不夠熟悉,無法執行此操作。

這是我的批處理腳本:

:: Batch script to rotate PHP logs
@ECHO OFF
SETLOCAL ENABLEEXTENSIONS

SET logPath=c:\php\logs\
SET currentLog=PHP54_errors.log

FOR /F %%A IN ('WMIC OS GET LocalDateTime ^| FINDSTR \.') DO @SET B=%%A
MOVE %logPath%%currentLog% %logPath%%B:~0,4%-%B:~4,2%-%B:~6,2%.log

引用自:https://serverfault.com/questions/838204