2016-12-15 101 views
0

我剛剛在Windows 10上的XAMPP上將PHP5.6升級到PHP。它工作得很好,除了PDO。PHP7和pdo_mysql

在我的phpinfo()我得到PDO support enabled, PDO drivers no value。 我複製了php.ini開發並將其重命名爲php.ini,並且我已取消註釋擴展文件夾聲明和擴展驅動程序php_pdo_mysql.dll。

extension_dir = "ext" 
... 
extension=php_pdo_mysql.dll 

我已驗證php_pdo_mysql.dll位於C:\ XAMPP \ PHP \分機,並且當我在一個控制檯上運行php -m,既PDO和PDO_MYSQL被列爲有源模塊。

C:\xampp\php>php -m 
[PHP Modules] 
bcmath 
calendar 
Core 
ctype 
curl 
date 
dom 
exif 
filter 
gd 
gettext 
hash 
iconv 
json 
libxml 
mbstring 
mcrypt 
mysqlnd 
openssl 
pcre 
PDO 
pdo_mysql 
Phar 
Reflection 
session 
SimpleXML 
SPL 
standard 
tokenizer 
wddx 
xml 
xmlreader 
xmlwriter 
zip 
zlib 

[Zend Modules] 

當我運行利用PDO的腳本,我拋出 Fatal error: Uncaught PDOException: could not find driver in (path to script)

我運行該腳本是完全有效的,並在升級(基本上只是一個new PDO(params))前工作的罰款。

我錯過了什麼?

回答

1

出於某種原因,不知道爲什麼,Windows需要絕對路徑來擴展目錄。因此,而不是

extension_dir = "ext" 
在php.ini

,我把

extension_dir = "C:/xampp/php/ext" 

,然後重新啓動Apache的。一切再次運作。

也許有人可以詳細說明這個問題?