之前一直用php5.2x環(huán)境,最近使用php5.3x發(fā)現(xiàn)程序出現(xiàn)Fatal error: Class 'VARIANT' not found in XXXXX/adodb-ado5.inc.php 錯(cuò)誤,我使用的是ADODB數(shù)據(jù)庫(kù)框架,連接ACCESS數(shù)據(jù)庫(kù)出現(xiàn)的,網(wǎng)上查了查資料,PHP 5.3.x以前的版本,只需要在php.ini中把com.allow_dcom = true純就可以了,但是之后的版本,PHP把com/dotnet 模塊集成到了一個(gè)單獨(dú)的擴(kuò)展中,所以需要在php.ini中加一行擴(kuò)展extension=php_com_dotnet.dll,是加一行,不是打開(kāi),默認(rèn)配置文件中沒(méi)有這一行的,然后重啟IIS或Apache,再次運(yùn)行就正常了!
該問(wèn)題也會(huì)出現(xiàn) Fatal error: Class 'COM' not found 錯(cuò)誤,故有遇到這2種錯(cuò)誤提示的可以試試這個(gè)方法。
如果還不行,那就是com()被禁止了。解決這一問(wèn)題的方法應(yīng)該是要允許com()函數(shù),打開(kāi)php的安裝目錄下的 php.in 文件,找到 disable_classes = 這行。果然,com 在 disable_classes = 里面,代碼如下:
disable_classes = com
把 com 刪除,這行代碼變?yōu)椋?
disable_classes =