mysql - PHP7 和 pdo_mysql

标签 mysql pdo windows-10 php-7

我刚刚在 Windows 10 上的 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) )。

我错过了什么?

最佳答案

由于某种原因(不确定为什么),Windows 需要扩展目录的绝对路径。所以而不是

extension_dir = "ext"

在 php.ini 中,我放入了

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

然后重新启动apache。一切又恢复正常了。

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

关于mysql - PHP7 和 pdo_mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41160146/

相关文章:

java - Hibernate池似乎释放了连接

javascript - 根据另一个下拉列表中的选择从数据库中拉取下拉选项

php - 使用 PHP/PDO 避免锁定的 SQLite 数据库超时

php - 如何在PHP PDO中选择一对多关系数据

c# - Win10 构建 : Loading assembly failed

python - Crontab 未在适用于 Linux 的 Windows 子系统 (WSL) 上运行 python 脚本

mysql - Ruby sort_by 用于 MySQL 返回的数组,日期格式为字符串

java - 如何在 Android 应用程序中离线使用图像?

php - mySQL PDO 错误

c - Bash for Windows 10 gcc 不会编译粘贴到根目录中的 c 文件