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

时间:2012-08-19 12:28:38

标签: windows apache2 php-5.2

我很难让PHP连接到Apache环境中的MySQL数据库。我试图自己解决这个问题,然而,我在这个问题上花了太多时间而没有解决问题。

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

; Directory in which the loadable extensions (modules) reside.
; extension_dir = "./"
extension_dir = "C:\php\ext"
extension=php5apache2_2.dll

extension=msql.dll
extension=php_mysql.dll
extension=php_mysqli.dll

mysql.default_port = 3607

mysqli.default_port = 3306

在我的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"

我有PHP 5.2.17,Apache 2.2.22(Wind32)和MySQL 5.2。

PHP脚本工作正常,包括<?php phpinfo(); ?>。我可以使用MySQL Workbench来创建模式,表格,脚本等。

我在某处(在寻找答案的几个小时后)读到如果在PHPInfo页面中没有看到MSQL错误地安装了某些内容?我按照建议重新安装无济于事。我已启动/停止服务,在更改后定期重新启动以确保更改将会生效。

我正在使用Windows Vista的笔记本电脑上工作。当我尝试访问MySQL时,我得到了这个致命的错误:

  

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

对于这个装置新手的任何帮助将不胜感激!

3 个答案:

答案 0 :(得分:1)

我有类似的问题。事实证明它没有从php文件夹加载php.ini文件(是的,对吧)我检查了phpinfo说...

“配置文件(php.ini)路径”设置为“C:\ Windows”。将php.ini放在该目录中,呃瞧瞧。

...希望我安装了WAMP

答案 1 :(得分:0)

尝试以下

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

请参阅 在Windows下安装扩展程序 部分 http://php.net/manual/en/install.windows.extensions.php

答案 2 :(得分:0)

SUCCESS !!!!

我并不声称能为其他任何人提供解决方案,但是,这是经过多次旋转后最终为我工作的。我正在开发基于Windows Vista的环境FYI。

卸载:MySQL,Apache和PHP。确保所有相关服务不再运行且已被删除(通常卸载会解决此问题,但并非总是如此)。从本质上讲,清理石板。

转到(不确定是否允许这样做)www.WAMPServer.com我下载了这个组 Apache 2.2.22 - MySQL 5.5.24 - PHP 5.4.3 XDebug 2.1.2 XDC 1.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"

在PHP.INI文件中:

extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_pdo_mysql.dll
extension=php_pdo_sqlite.dll

在My.INI文件中:

# 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 Workbench GUI工具。我使用它来创建数据库,模式,表等。首次使用工作台时,请确保您具有正确的端口#3306(或您的首选端口)。如果您创建用户和密码,请记住记下它们,因为它们将在您的“连接”声明中使用。

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

我已经开始运行......我希望这有助于您解决问题。

最诚挚的问候, 特里