這是因為PHP。INI中有一些設置不對,最有可能是就是有無效的DLL文件在內。但為什麼會出現這些呢?
我在WIN32下,建了一個空的test.php文件。
然後執行c:php4php.exe test.php,此時我的php.ini的配置是正確的。屏幕輸出為:
X-Powered-By: PHP/4.0.0
Content-type: text/html
咦,這不是顯示在屏幕上的東西嗎?是的。但這時這兩行是作HTTP信息頭的。是不會顯示在浏覽器中的。
現在我在php.ini中加載了php_mysql.dll。而這個文件是不存在的。
再次執行c:php4php.exe test.php,屏幕輸出為:
Content-type: text/html
PHP Fatal error: Unable to load dynamic library 'php_mysql.dll'
此處還有些亂字符
X-Powered-By: PHP/4.0.0
Content-type: text/html
就是在Content-type: text/html之後,又出現了一些錯誤信息,所以才導致X-Powered-By: PHP/4.0.0 Content-type: text/html出現在屏幕上。而這其實本來是HTTP的信息頭的。
那麼我想在出這些錯時,如果output_buffering=off的話,那麼setcookie()是沒辦法使用的。
明白了嗎?