[英]PHP doesn't see MySQL
我已经看过这篇文章PHP没有看到mysql扩展 ,但是对我没有帮助。
我用:
在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
并重新启动Web服务器,但是它没有用。
如果您需要,我可以发布其他信息。
更新1:
运行<?php phpinfo(); ?>
<?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文件夹与以前的工作PC相同。
我复制了它们,重新配置了路径,安装并启动了服务:
httpd -k install && httpd -k start
mysqld --install && net start mysql
更新3:
The mysql extension is missing. Please check your PHP configuration.
得到The mysql extension is missing. Please check your PHP configuration.
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
我已经解决了以下问题,将相同的问题添加到Windows的环境变量“路径”(“系统”>“高级”>“环境变量”>“路径”)中:
c:\\ Program Files \\ PHP5; C:\\ Program Files \\ MySQL \\ MySQL Server 5.5 \\ lib
第一个是php.ini的位置,第二个(最重要!)是libmysql.dll的位置(通常在mysql安装目录中的“ lib”目录中)
在PHP.net页面http://php.net/manual/en/mysqli.installation.php中对该操作进行了很好的描述。
现在可以了。
您需要向上移动php.ini文件中的extension=php_mysql.dll
和extension=php_mysqli.dll
行。 它们应具有所有常规设置。
据我所知,没有php_mysql
和php_mysqli
,只是mysql
和mysqli
,但是这些仅包含这些模块的特定设置。 在读取这些设置之前,将加载实际的扩展名。
我现在看到的最可行,最节省时间的选项是重新安装WAMP本身,并将旧文件和dbs迁移到新文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.