PHP7和pdo_mysql

时间:2016-12-15 09:04:32

标签: mysql pdo windows-10 php-7

我刚在Windows 10 {X}上的XAMPP上将PHP5.6升级到PHP7 following this guide。除PDO外,它的工作正常。

在我的phpinfo()中,我得到PDO support enabled, PDO drivers no value。 我复制了php.ini-development并将其重命名为php.ini,并且我已经取消注释扩展文件夹声明和扩展驱动程序php_pdo_mysql.dll。

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

我已经验证php_pdo_mysql.dll位于C:\ xampp \ php \ ext中,当我在控制台中运行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 个答案:

答案 0 :(得分:1)

由于某种原因,不确定为什么,Windows需要一个绝对路径到扩展目录。而不是

extension_dir = "ext"

在php.ini中,我把

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

然后重新启动apache。一切都有效。

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