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

在我的 Apachehttpd.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()

对此安装新手的任何帮助将不胜感激!

4

3 回答 3

1

我有一个类似的问题。原来它没有从 php 文件夹中加载 php.ini 文件(是的,愚蠢的权利)我检查了 phpinfo 它说......

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

...希望我安装了 WAMP

于 2012-09-07T05:06:24.763 回答
0

尝试以下

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

请参考Windows 下的扩展安装部分 http://php.net/manual/en/install.windows.extensions.php

于 2012-08-19T12:38:59.627 回答
0

成功!!!!

我不声称对其他人有解决方案,但是,这是经过多次折腾后最终对我有用的方法。我正在开发基于 Windows Vista 的环境,仅供参考。

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

我差点忘了。确保这两个 dll 在你的 PHP/Ext 目录下 php_mysql.dll 和 php_mysqli.dll

我下班了...我希望这可以帮助您解决问题。

最诚挚的问候,特里

于 2012-08-21T11:25:17.403 回答