致命错误:使用Windows Vista、PHP5、mysql和Apache2调用未定义的函数mysql_connect()

致命错误:使用Windows Vista、PHP5、mysql和Apache2调用未定义的函数mysql_connect(),windows,apache2,php-5.2,Windows,Apache2,Php 5.2,我正在努力让PHP连接到Apache环境中的MySQL数据库。我试图自己解决这个问题,但是,我在这个问题上花费了太多时间,却没有解决 在我的php.ini文件中,我有以下内容(经过广泛研究,这似乎是所需ini语句的共识): 在我的Apachehttpd.conf文件中: LoadModule php5_module "C:/php/php5apache2_2.dll" ServerName localhost:80 DocumentRoot "C:/Apache2/htdocs" AddTy

我正在努力让PHP连接到Apache环境中的MySQL数据库。我试图自己解决这个问题,但是,我在这个问题上花费了太多时间,却没有解决

在我的
php.ini
文件中,我有以下内容(经过广泛研究,这似乎是所需ini语句的共识):

在我的Apache
httpd.conf
文件中:

LoadModule php5_module "C:/php/php5apache2_2.dll"
ServerName localhost:80

DocumentRoot "C:/Apache2/htdocs"

AddType text/html .shtml
AddType application/x-httpd-php .php
AddType application/x-httpd-php .phtml

extension=php_msql.dll

PHPIniDir "C:/php"
我有PHP5.2.17、Apache 2.2.22(Wind32)和MySQL 5.2

PHP脚本工作正常,包括
。我可以使用MySQL工作台创建模式、表、脚本等

我在某个地方读到(经过数小时的搜索后)如果在PHPInfo的页面中没有看到MSQL,那么说明安装了错误的东西?我已按建议重新安装,但没有效果。我已启动/停止服务,并在更改后定期重新启动,以确保更改生效

我正在使用Windows Vista的笔记本电脑。当我尝试访问MySQL时,我遇到了以下致命错误:

致命错误:调用未定义的函数mysql_connect()

任何帮助这个安装新手将不胜感激

试试下面的方法

将libmysql.dll复制到路径c:\windows\system32。 该文件应位于C:\php\root文件夹中。重新启动你的电脑

请参阅Windows下的扩展安装部分 成功

我并不声称对其他任何人都有解决方案,然而,这是经过多次旋转后最终对我有效的方法。我正在使用基于Windows Vista的环境供您参考

卸载:MySQL、Apache和PHP。确保所有相关服务不再运行且已被删除(卸载通常会解决此问题,但并不总是如此)。从本质上讲,这是一个扫清历史的过程

请访问(不确定是否允许)www.WAMPServer.com,我在那里下载了该组 Apache 2.2.22-MySQL 5.5.24-PHP5.4.3 XDebug 2.1.2 xdc1.5 PhpMyadmin 3.4.10.1 SQLBuddy 1.3.3 webGrind 1.0

对于安装,我只是按照屏幕提示进行操作

以下是一些配置设置: 在HTTPD.CONF中

ServerRoot (set according to where Apache is installed)
Listen 80
ServerName localhost:80

LoadModule php5_module "c:/wamp/bin/php/php5.4.3/php5apache2_2.dll"
* Note the above line - you may have to copy the dll into that directory if not there


#
# This should be changed to whatever you set DocumentRoot to.
#
# <Directory "c:/wamp/www/">
<Directory "C:/wamp/bin/apache/apache2.2.22/htdocs">
* Note - above line will be changed to match your htdocs directory


#
# "C:/Program Files/Apache Software Foundation/Apache2.2/cgi-bin"
# CGI directory exists, if you have that configured.
#
<Directory "C:\wamp\bin\apache\apache2.2.22\cgi-bin">

* In the section <IfModule mime_module>

AddType application/x-httpd-php .php
AddType application/x-httpd-php .php3

AddType text/html .shtml
AddOutputFilter INCLUDES .shtml

* Note at the end of the CONF file set the directory where the PHP.INI file is located

PHPIniDir "C:\wamp\bin\php\php5.4.3"
在My.INI文件中:

extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_pdo_mysql.dll
extension=php_pdo_sqlite.dll
# The MySQL server
[wampmysqld]
port        = 3306
socket      = /tmp/mysql.sock
key_buffer = 16M
max_allowed_packet = 1M
table_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
basedir=c:/wamp/bin/mysql/mysql5.5.24
log-error=c:/wamp/logs/mysql.log
datadir=c:/wamp/bin/mysql/mysql5.5.24/data

[mysqld]
port=3306
之后我去了MySQL.com,下载了MySQL工作台GUI工具。我使用它来创建数据库、模式、表等。首次使用工作台时,请确保您拥有正确的端口#3306(或您首选的端口)。如果您创建了用户和密码,请记住记下它们,因为它们将在“connect”语句中使用

我差点忘了。确保这两个dll位于PHP/Ext目录PHP_mysql.dll和PHP_mysqli.dll中

我正在跑步…我希望这能帮助你解决你的问题

最亲切的问候,
特里

我也有类似的问题。原来不是从php文件夹加载php.ini文件(没错),我检查了phpinfo,上面说

“配置文件(php.ini)路径”设置为“C:\Windows”。把php.ini放在那个目录中,哎,瞧,行了


。。。希望我已经安装了WAMP

JLC007,谢谢您的及时回复。我之前已将libmysql.dll放在Windows\System32目录中。不幸的是,它没有解决我的问题。此外,我相应地设置了windows路径,但也没有解析。我通读了…extensions.php手册,并对php.INI文件进行了规定的调整,但也不走运。我会继续寻找…但肯定会感谢任何进一步的帮助,因为我并不声称我拥有全部或部分答案。或者,如果您没有成功解决问题,请在Windows 7上安装IIS代替apache,并使用[PHP Aid Installer]。它的作用相当不明显。至少对我来说,这也是我的问题!我安装了新鲜的PHP、Apache、MySQL;它们都工作得很好,但不知何故mysql扩展没有得到加载。一个小时后,我将php.ini移动到C:\Windows,它成功了。
# The MySQL server
[wampmysqld]
port        = 3306
socket      = /tmp/mysql.sock
key_buffer = 16M
max_allowed_packet = 1M
table_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
basedir=c:/wamp/bin/mysql/mysql5.5.24
log-error=c:/wamp/logs/mysql.log
datadir=c:/wamp/bin/mysql/mysql5.5.24/data

[mysqld]
port=3306