PHP的content-type=text/html問題
Patrick 2000年5月31日
把它EMAIL給我 我來談談我的看法 上一篇 下一篇
以下文字是由於小弟看到最近論壇上有關此類問題很多而寫,還請各位多指教!!!
在本站的常見問題中已經有了怎樣去掉PHP4的一些多余信息的解答,但是嚴格來說這些信息分成兩部分:一部分是指明PHP正在運行的消息,就是那些什麼X-POWERED-BY之類的;還有一部分是申明了該文件的默認內容形式text/html。常見問題中的解答解決了前一部分問題(只要在相關行加注就OK了),但是論壇上更多的是關於後一部分的問題,我想就這個問題探討一下。
最開始要申明的是這樣的情況很可能出現在PHP以CGI方式運行的時候,那麼小弟猜想大部分是WIN32平台出錯。
首先,一個最極端的解決方法就是,將所有擴展模塊注釋掉,即在php.ini中將那些關於數據庫、圖形、MAIL等等擴展模塊均申明不加載,部分php.ini文件類似如下的形式:
;Windows Extensions
;extension=php_mysql.dll
;extension=php_nsmail.dll
;extension=php_calendar.dll
;extension=php_dbase.dll
;extension=php_filepro.dll
;extension=php_gd.dll
;extension=php_dbm.dll
;extension=php_mssql.dll
;extension=php_zlib.dll
;extension=php_filepro.dll
;extension=php_imap4r2.dll
;extension=php_ldap.dll
;extension=php_crypt.dll
;extension=php_msql2.dll
;extension=php_odbc.dll
那麼如果需要這些模塊怎麼辦?小弟我的解決辦法只有在相應頁面動態加載,即dl()上去——以前小弟我還尋思這個函數有什麼用,現在,哈哈。。。如果各位有什麼好辦法,也可以張貼出來和大家分享!
其次一個解決的辦法是利用PHP的-q參數,按照PHP自己的說法是“Suppress HTTP Header Output”即禁止HTTP頭輸出。這樣倒是一了百了,但是你的任何header()和setcookie()都無用了——嘿嘿,你的PHP就基本報廢。所以那,這只是一個龌鹾的辦法了。
好了,就說這麼多,應該可以解決CGI方式運行的PHP的以上問題了。以上資料綜合了www.faqts.com的有關PHP部分——那個地方可以頂級的提問地盤了,經常有PHP/ZEND的撰寫者和一些PHP書籍的作者回答你的問題,多棒阿!!!
歡迎各位指教!