我正在尝试设置一个本地 PHP 开发环境,但是在为 PDO 启用 mySQL 时遇到了麻烦,并且对这种类型的设置相当陌生……所以我不确定我可能会丢失什么。
我已取消注释:
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_pdo.dll
extension=php_pdo_mysql.dll
并将 extension_dir 设置为:
extension_dir = "C:\PHP\ext\"
此外,我已将 libmysql.dll 文件复制到 Apache 的 Bin 目录中,并且我确信我正在检查正确的 php.ini 文件。
当我打开 phpinfo() 时,我得到以下信息:
**mysql**
Active Persistent Links 0
Active Links 0
Client API version 5.0.27
Directive Local Value Master Value
mysql.allow_persistent On On
mysql.connect_timeout 60 60
mysql.default_host no value no value
mysql.default_password no value no value
mysql.default_port no value no value
mysql.default_socket no value no value
mysql.default_user no value no value
mysql.max_links Unlimited Unlimited
mysql.max_persistent Unlimited Unlimited
mysql.trace_mode Off Off
**mysqli**
Client API library version 5.0.27
Client API header version 5.0.22
MYSQLI_SOCKET /tmp/mysql.sock
Directive Local Value Master Value
mysqli.default_host no value no value
mysqli.default_port 3306 3306
mysqli.default_pw no value no value
mysqli.default_socket no value no value
mysqli.default_user no value no value
mysqli.max_links Unlimited Unlimited
mysqli.reconnect Off Off
**PDO**
PDO drivers no value
在命令行上运行php.exe -m
会给我以下错误:
PHP Warning: PHP Startup: Unable to load dynamic library 'C:\PHP\ext\php_mysql.dll' - the specified module could not be found.
我收到上述错误:
php_mysql.dll
php_pdo_mysql.dll
php_pdo.dll
如果我启用 sqlite,那么在 phpinfo() 列表中会显示得很好。
当我转到应该使用 mysql 连接的页面时,我收到以下错误:
致命错误:在 C:\Inetpub\wwwroot\test\connection.php:11 中未捕获的异常“PDOException”和消息“找不到驱动程序”堆栈跟踪:#0 C:\Inetpub\wwwroot\test\connection.php(11 ): PDO->__construct('mysql:host=xxx....', 'loginname', 'password') #1 C:\Inetpub\wwwroot\test\pagename.php(18): include('C: \Inetpub\wwwr...') #2 {main} 在第 11 行的 C:\Inetpub\wwwroot\test\connection.php 中抛出
使用 EasyPHP 进行开发。在我不得不使用 mySQL 之前没有问题