2016-12-15 71 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的。一切再次运作。

也许有人可以详细说明这个问题?