欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

为什么我配置的PHP5不支持MySQL?

程序员文章站 2024-01-31 17:36:10
...
【软件】
OS: Windows Server 2008R2 DataCenter (X64)
MySQL:mysql-5.1.71
IIS: IIS7.5
PHP:php-5.2.17
ZendOptimizer:3.3.0

【现状】
1)已经在PHP.ini中启用了MySQL:
extension=php_mysql.dll
extension=php_mysqli.dll
2)libmysql.dll、 php_mysql.dll、php5ts.dll等都复制到C:\Windows\System32中了;
3)MySQL服务已经启动,使用客户端可以访问;
4)IIS已经配好,可以解析PHP;
5)php.ini文件位置没问题,位于C:\windows下;
6)IIS、操作系统均已重启过;

【问题】
问题1:PHPinfo显示MySQL尚未启用,PHP程序无法调用MySQL。
问题2:国庆一劫怎么过?

回复讨论(解决方案)

win8是不是要重启 还是版本不对
国庆节撸自己~

忘了把extension=php_pdo_mysql.dll 前面的分号去掉,去掉后问题解决。
来人接分。

extension=php_mysql.dll
extension=php_mysqli.dll
这两个,跟
extension=php_pdo_mysql.dll
完全没有关系。
如果你要用
extension=php_pdo_mysql.dll
则一定要开启
extension=php_pdo.dll

extension=php_mysql.dll
extension=php_mysqli.dll
这两个,跟
extension=php_pdo_mysql.dll
完全没有关系。
如果你要用
extension=php_pdo_mysql.dll
则一定要开启
extension=php_pdo.dll
在php_pdo.dll扩展不开启的情况下,php_pdo_mysql.dll依然可用。


extension=php_mysql.dll
extension=php_mysqli.dll
这两个,跟
extension=php_pdo_mysql.dll
完全没有关系。
如果你要用
extension=php_pdo_mysql.dll
则一定要开启
extension=php_pdo.dll
在php_pdo.dll扩展不开启的情况下,php_pdo_mysql.dll依然可用。
可以么?我上次折腾了好几天,才发现了这个问题。
确认不是mysql,而的确是pdo_mysql?

是的,我只开启php_mysql.dll的情况下phpinfo()显示mysql不可用;
开启php_pdo_mysql.dll扩展后(未开启php_pdo.dll)重启就显示mysql可用了。

不会吧,不用pdo也可以的啊,手册上有写。

PHP 5.0.x, 5.1.x, 5.2.x

MySQL is no longer enabled by default, so the php_mysql.dll DLL must be enabled inside of php.ini. Also, PHP needs access to the MySQL client library. A file named libmysql.dll is included in the Windows PHP distribution and in order for PHP to talk to MySQL this file needs to be available to the Windows systems PATH. See the FAQ titled "How do I add my PHP directory to the PATH on Windows" for information on how to do this. Although copying libmysql.dll to the Windows system directory also works (because the system directory is by default in the system's PATH), it's not recommended.

As with enabling any PHP extension (such as php_mysql.dll), the PHP directive extension_dir should be set to the directory where the PHP extensions are located. See also the Manual Windows Installation Instructions. An example extension_dir value for PHP 5 is c:\php\ext

Note:
If when starting the web server an error similar to the following occurs: "Unable to load dynamic library './php_mysql.dll'", this is because php_mysql.dll and/or libmysql.dll cannot be found by the system.

是的,我只开启php_mysql.dll的情况下phpinfo()显示mysql不可用;
开启php_pdo_mysql.dll扩展后(未开启php_pdo.dll)重启就显示mysql可用了。
学习了,可能是我的版本低的缘故。