我已经看过这篇文章PHP doesn't see mysql extension,但它没有帮助我。
我用:
- Windows 7(VM 中的 32 位和真实 PC 中的 64 位)
- 带有 SSL 的 Apache 2.2
- PHP 5.3.8
- mysql 5.5.23
在httpd.conf
我用 PHP 配置 Apache
PHPIniDir "C:\WEB\PHP\"
LoadModule php5_module "C:\WEB\PHP\php5apache2_2.dll"
ScriptAlias /php "C:/WEB/PHP/"
AddType application/x-httpd-php .php
Action application/x-httpd-php "/php/php-cgi.exe"
在php.ini
我设置
extension_dir = "C:/WEB/PHP/ext/"
[PHP_MYSQL]
extension=php_mysql.dll
[PHP_MYSQLI]
extension=php_mysqli.dll
MySql 已启动并正常工作,但 PHP 看不到 mysql。
我也尝试复制libmysql.dll
并%windir%\system32
重新启动网络服务器,但它没有工作。
如果您需要,我可以发布其他信息。
更新1:
跑步<?php phpinfo(); ?>
我只能看到mysqlnd
,但mysql
也看不到mysqli
。
如果我跑php -i
我会看到
mysql
MySQL Support => enabled
Active Persistent Links => 0
Active Links => 0
Client API version => mysqlnd 5.0.8-dev - 20102224 - $Revision: 310735 $
更新 2:
Apache、PHP 和 MySQL 文件夹与以前的工作电脑相同。
我复制了它们,重新配置了路径,安装并启动了服务:
httpd -k install && httpd -k start
mysqld --install && net start mysql
更新 3:
- 我可以通过 DOS 控制台使用 mysql
- 如果我尝试运行现有的 PhpMyAdmin,我会得到
The mysql extension is missing. Please check your PHP configuration.
更新4:
我检查了一切php.ini
,我的电脑上唯一的就是php文件夹中的那个。
更新5:
我试过这个代码:
<?php
ini_set('display_errors', 'on');
error_reporting(E_ALL);
mysql_connect();
?>
我得到Fatal error: Call to undefined function mysql_connect() in C:\var\www\Apache\test.php on line 4