WAMP服务器虚拟主机

时间:2019-12-23 11:40:35

标签: php mysql virtualhost wampserver

我已设置WAMP,并且所有服务都在运行。我可以通过Visual Studio代码编辑器和本地主机上的CakePHP环境连接到现有数据库“ mysql”。

在添加数据库时,无论是通过MySQL Console还是通过MyPHPAdmin,都会出现以下错误。

  

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

在添加新用户并授予该用户所有特权时,我收到以下错误消息。我确信该用户具有所有特权,因此绝对也具有阅读权限。

  

警告:mysqli_connect():(HY000 / 1045):在C:\ wamp64 \ www \ wamp_projects \ WAMP Test \ db_connection.php中,对用户'niels'@'localhost'(使用密码:是)的访问被拒绝

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

我的草图在localhost上的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的副本,这使路由机制感到困惑。

我在做什么错了?

1 个答案:

答案 0 :(得分:-2)

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

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

希望这可以帮助某人!