|
|
|
|
|
|
由于我的網站是asp.net寫的,必須使用iis服務器,而我在某些模塊需要用到php程序,因此需要一個能運行php又能運行.net的環境。為了簡便,我于是在iis配置了php的運行環境。經實際使用,穩定和速度也都還不錯,并沒有很多人說的那么糟糕。
iis環境運行php程序,首先給我一個最大的困擾是怎樣調試php程序。因為我安裝完php后,運行程序時竟然不知道它的log文件在哪里。任何程序開發都需要調試,而調試時肯定要看log里的錯誤輸出信息。
今天通過琢磨,終于搞定了這一困難,以后,不再怕php程序的調試了。
php頁面為什么沒有輸出錯誤信息而是空白?
相信很多菜鳥都與我一樣,寫了一個php程序,然后測試,誰知,沒有執行成功的情況下,頁面并沒有輸出錯誤信息,而是看到空白的頁面。這讓我們修改起來十分困難,因為你抓不到錯誤的信息,不知道錯在哪里。
后來,我終于知道了原因。
打開c:\php\php.ini(c:\php是php的安裝目錄),查找“display_errors”,把Off改為On。
然后保存文件,在把此文件復制到C:\WINDOWS。
最后,重啟IIS服務器。(在dos里輸入 iisreset /restart 即可)
這樣,以后打開php頁面,如何有任何錯誤,都會在頁面上顯示了,這給php調試帶來很大的方便。
php的log文件在哪里?
我一直有個疑問,那就是php的log文件到底在哪里?
我們知道,iis的網站log文件是可以在iis里設置的,默認地址是C:\WINDOWS\system32\LogFiles,但是在這里并不會有php的log文件。
其實,php的log文件是需要手工設置的,同樣,需要修改php.ini這個文件。
1、找到log_errors = Off,把Off改為On
2、設置log文件的路徑,找到error_log = filename,把filename改為log文件的路徑,例如c:\php\err.log。
然后保存文件,在把此文件復制到C:\WINDOWS。
最后,重啟IIS服務器。(在dos里輸入 iisreset /restart 即可)
這樣,以后打開php頁面,如何有任何錯誤,都會自動記錄在剛才設置的文件里了。
問題:如何動態改變php error_log 生成的log 的文件名
在 php.ini 中,可以設置 error_log = c:/system.log,但是隨著系統運行時間增加, system.log 文件會變的巨大無比。如何讓這個log文件按日期作為文件名呢?每天生成一個 log 文件,這樣就不會有巨大的 log 文件了。
可以用 ini_set 這個方法來實現。(導讀:ini_set的用法)
$logFileName = date("Y-m-d") . ".log";
ini_set ("error_log" , $logFileName);
