【问题标题】:WAMP Server VirtualHostWAMP 服务器虚拟主机
【发布时间】:2020-04-14 17:00:23
【问题描述】:

我设置了 WAMP,所有服务都在运行。我能够从 Visual Studio Code 编辑器和本地主机上的 CakePHP 环境连接到现有数据库“mysql”。

添加数据库时,无论是通过 MySQL 控制台还是通过 MyPHPAdmin,我都会收到以下错误..

警告:mysqli_connect(): (HY000/1049): C:\wamp64\www\wamp_projects\WAMP Test\db_connection.php 中的未知数据库“testmysqlniels”

添加新用户并授予该用户所有权限时,我收到以下错误消息。我确信这个用户拥有所有权限,所以肯定也有阅读权限。

警告:mysqli_connect(): (HY000/1045): Access denied for user 'niels'@'localhost' (using password: YES) in C:\wamp64\www\wamp_projects\WAMP Test\db_connection.php

似乎 MyPHPAdmin 中的系统(我也通过 MySQL 控制台连接到该系统)与我在草图中和通过 CakePHP 调用的系统不同。我认为错误在于我的项目文件夹的虚拟主机设置中。

我的草图位于本地主机上,位于 YOURVIRTUALHOST ‘wampprojects’ 下。 C:\wamp64\www\wamp_projects\WAMP 测试(路径)

代码适用于现有表,不适用于新表..

我的代码:

<?php

    $dbServerName = "wampprojects";
    $dbUserName = "root";
    $dbPassword = "";
    $dbName = "testmysqlniels";

    // need to use mysqli_connect, is improved version (Improved)
    $conn = mysqli_connect($dbServerName, $dbUserName, $dbPassword, $dbName);


    $search_query = "SELECT * FROM help_category";
    $search_query_cost = "SELECT * FROM tables_priv";
    $search_sports = "SELECT * FROM sports_tabel";

    $result = $conn->query($search_query);
    $result_priv = $conn->query($search_sports);

    print_r($result_priv);

    if($result->num_rows > 0){

        while($row = $result->fetch_assoc()) {
            echo "id: " . $row["name"]. " - Name <br>";
        }

    }

    $conn->close();

    ?>

我的数据库架构显示存在数据库和表..

总结一下,我可以调用所有自动包含的 DB/ 表,没有添加任何其他内容。看来我的参考系统有问题..

我已经阅读了一些关于设置“httpd-vhosts.conf 文件”的文章,但没有任何结论..

这是我文件的当前配置:

# Virtual Hosts
#
<VirtualHost *:80>
  ServerName localhost
  ServerAlias localhost
  DocumentRoot "${INSTALL_DIR}/www"
  <Directory "${INSTALL_DIR}/www/">
    Options +Indexes +Includes +FollowSymLinks +MultiViews
    AllowOverride All
    Require local
  </Directory>
</VirtualHost>



#
<VirtualHost *:80>
    ServerName wampprojects
    DocumentRoot "c:/wamp64/www/wamp_projects"
    <Directory  "c:/wamp64/www/wamp_projects/">
        Options +Indexes +Includes +FollowSymLinks +MultiViews
        AllowOverride All
        Require local
    </Directory>
</VirtualHost>

我刚刚读到的另一件事是,我的 PC 上可能已经运行了一个 Apache 的副本,这会混淆路由机制。..

我做错了什么?

【问题讨论】:

  • 关于无关说明:学习 PDO 而不是 mysqli。 mysqli 更难使用,选项更少。
  • 我不太确定您是否需要本地主机。如果您删除它并重新启动会发生什么?因为我认为您不能在虚拟主机中拥有虚拟主机(假设 ${INSTALL_DIR}/www/ 与 c:/wamp64/www 相同)
  • 谢谢你的建议,我去看看PDO。我在“httpd-vhosts”文件中取出了 localhost 选项。结果相同,但消除了 vhost 中的 vhost 风险,非常感谢!
  • 似乎当我删除 localhost 部分时,我无法访问 WAMP 服务器起始页。所以我宁愿不这样做。将尝试移动到另一个文件夹..
  • 1.文件夹名称中的空格绝不是一个好主意。 2. $dbServerName = "本地主机";

标签: php mysql virtualhost wampserver


【解决方案1】:

最终我发现了问题。我的计算机上一定已经运行了 Apache Server 的副本。这导致我从我的代码中查询错误的数据库副本。这就解释了为什么我可以访问所有原始 MySQL 数据库和表,而不是新的。

我所做的非常激烈,不知道我是否可以解决它。我删除了所有使用 Apache、Android Studio、Java 和 Node.js 的运行时环境。还删除了 Visual Studio Code。然后我卸载并重新安装了 WAMP,然后重新安装了 VSC。

希望这对某人有所帮助!

【讨论】:

  • 我卸载了一系列程序,为 WAMP 运行卸载并重新安装它。所以不,我不知道。我怎么能检查这个?哪个工具?
猜你喜欢
  • 2014-07-06
  • 2016-06-16
  • 1970-01-01
  • 2011-09-30
  • 2013-04-13
  • 2013-03-15
  • 2014-07-15
  • 2014-09-20
  • 2011-02-01
相关资源
最近更新 更多