【问题标题】:mysqli_connect fail on localhost of IIS on Windows 7 when executing PHP from a local website从本地网站执行 PHP 时,mysqli_connect 在 Windows 7 上的 IIS 本地主机上失败
【发布时间】:2013-08-02 13:47:37
【问题描述】:

我是一名控制系统工程师,第一次尝试学习 MySQL 和 PHP。

我的 Windows 7 Home Premium 开发计算机安装了 MS IIS 服务器。我使用 Internet 信息服务 IIS 管理器在我的计算机上创建了一个小的 1 页网站C:\inetpub\wwwroot\mysite。浏览网站时的地址是http:\192.168.1.8。

MySQL Server 5.6 安装在C:\Program Files\MySQL\MySQL Server 5.6。 PHP 5.3 安装在C:\Program Files (x86)\PHP\V5.3。 Phpmyadmin 4.0.4 安装在C:\inetpub\phpmyadmin。我是我计算机的唯一用户,因此我拥有管理权限。

我成功地使用"http://localhost/Phpmyadmin" 创建了 MySQL 数据库及其第一个表。它在 127 0 0 1 处看到数据库。

我的 php 文件中的以下行将返回错误字符串(这对我来说是进度,因为浏览器不只是显示 php 文件的内容)。

$dbc = mysqli_connect('http : // 127 0 0 1', 'mysqlusername', 'mysqlpassword', 'mydatabase')
or die('Error connecting to MySQL server.');

mysqlusername、mysqlpassword 和 mydatabase 都可以使用 http://localhost/phpmyadmin。对于连接,我尝试过:http : // 127 0 0 1http : // localhosthttp : // localhost/ 127 0 0 1。但我总是得到错误。

Windows 搜索在 2 个位置显示数据库:C:\ProgramData\MySQL Server 5.6 Data\mydatabaselocalhost / 127 0 0 1/ mydatabase

谁能帮我找出问题所在?也许某处有一个配置文件需要更改?有谁知道是否有一个简单的指南来解释 IIS、MySQL 和 PHP 如何协同工作的基础知识(可能是一张地图)。

在上面的句子中,我放了一堆空格,我把一些句号换成了空格,这样我就可以发布这个问题了。

【问题讨论】:

  • 尝试连接数据库时的实际错误是什么?您可以使用mysqli_error() 来获取实际错误,而不是您在die() 语句中输入的错误:php.net/manual/en/mysqli.error.php

标签: php mysql iis localhost


【解决方案1】:
$dbc = mysqli_connect('http://127.0.0.1', 'mysqlusername', 'mysqlpassword','mydatabase')

不起作用,它没有通过 HTTP 连接。只需指定 IP 或主机名:

$dbc = mysqli_connect('127.0.0.1', 'mysqlusername', 'mysqlpassword','mydatabase')
// or
$dbc = mysqli_connect('localhost', 'mysqlusername', 'mysqlpassword','mydatabase')

【讨论】:

  • 非常感谢!只需使用 127.0.0.1 即可完美运行!我只有 1 个其他问题,MS Expression Web 4 无法发布到我的本地主机。错误:服务器扩展无法访问文件 C:\inetpub\wwwroot\mysite_vti_pvt/service.lck。我将 Expression Web 4 配置为使用:连接类型:文件系统,位置:C:\inetpub\wwwroot。我使用 Windows 资源管理器检查了 inetpub、wwwroot、mysite 和 _vti_pvt 文件夹的权限,这些文件夹都设置为 CREATER OWNER,service.lck 的权限是 SYSTEM。有一个简单的解决方案吗?再次感谢!
  • 您是否尝试过以提升的权限运行 MS Expression Web 4?为此,请右键单击您的 MS Expression Web 4 快捷方式并选择“以管理员身份运行”。
  • 好主意。那行得通,我可以发布,但是.....现在当我启动 MS Expression Web 4 时,MS Windows 7 认为它来自未知的发布者,我每次都会得到“用户帐户控制”对话框。此外,如果我右键单击我的 HTML 文件并选择“使用 Microsoft Expression Web 4 编辑”,我将得到相同的对话框,然后另一个对话框显示“将命令发送到程序时出现问题。”,Expression Web 4打开,但不是 HTML 文件。
猜你喜欢
  • 2014-08-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-23
  • 2010-12-07
  • 1970-01-01
  • 2016-04-02
  • 2018-05-11
相关资源
最近更新 更多