当前位置: 首页 > 知识库问答 >
问题:

带PHP和MySql的Docker-$ServerName错误[重复]

沈英勋
2023-03-14

我有一个用PHP和MySQL开发的项目。

 // Define $username and $password
$username=$_POST['username'];
$password=$_POST['password'];


/* -------------------------------- CONNESSIONE -------------------------------------- */
$servername = "localhosto";
$username_db = "xxxxxx";
$password_db = "yyyyyy";
$db = "zzzzzz";

try {
    $conn = new PDO("mysql:host=$servername;dbname=$db", $username_db, $password_db);
    // set the PDO error mode to exception
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    //echo "Connected successfully<br/><br/>";
}
catch(PDOException $e)
{
    echo "Connection failed: " . $e->getMessage()."<br/><br/>";
}
FROM php:7.0-apache


RUN apt-get update \
  && apt-get install -y --no-install-recommends libpq-dev \
  && docker-php-ext-install mysqli pdo_pgsql pdo_mysql


COPY / /var/www/html
EXPOSE 80
docker build -t mysoftware C:\Users\mysoftware
docker run -d -p 5000:80 mysoftware
$servername = "SERVER_NAME";

为什么我有一个错误,如果应用程序运行正确没有容器??

共有1个答案

蒋健
2023-03-14

在容器内运行时,localhost将不解析到主机,而是引用容器IP地址。

您需要从容器内连接到主机。检查:从Docker容器内部,如何连接到机器的本地主机?

 类似资料:
  • 我正在一个项目,有纯PHP作为后端和MySQL作为数据库。目前,我正在使用ajax来发布和接收来自数据库的数据。但我想使用Websockets的接收部分,使其实时。根据我的搜索和发现,人们引用Node.js、Redis PubSub等来实现它。然而,我没有找到一个关于这个主题的好教程。另外,据我所知,当我在后面运行复杂的PHP算法和MySQL查询时,Nods.js和PHP并不能很好地结合在一起。所

  • 问题内容: 我有一个PHP表单,可将​​数据输入到我的MySQL数据库中。我的主键是用户输入的值之一。当用户输入表中已经存在的值时,将返回MySQL错误“键1的重复项’输入值’。我想提醒用户他们需要输入一个不同的值,而不是该错误。只是回音或其他内容。我想我的问题归结为:如何将特定的MySQL错误转换为PHP消息谢谢 编辑:下面尼克的答案是不错的,但是有什么办法可以区分特定的错误? 问题答案: 要检

  • 当我尝试在docker上运行我的php: apache容器时,我会收到这个警告,请知道如何解决这个问题。 AH00558:apache2:无法使用172.17.0.2可靠地确定服务器的完全限定域名。全局设置“ServerName”指令以抑制此消息AH00558:apache2:无法使用172.17.0.2可靠地确定服务器的完全限定域名。全局设置“ServerName”指令以抑制此消息[Mon Fe

  • 我得到错误: #1140-在没有GROUP BY的聚合查询中,SELECT列表的表达式#1包含非聚合列'SAKILA_TAK14.CUSTOMER.FIRST_NAME';这与sql_mode=only_full_group_by不兼容

  • 问题内容: 我收到了预期的通知和警告,并希望在我的PHP文件中将其关闭。错误是: 通知是: 我打算将cron用于此PHP脚本,并且不想在任何地方记录任何错误或通知。 问题答案: 当您确定脚本可以正常运行时,可以摆脱以下警告和注意事项:将以下行放在PHP脚本的开头: 在此之前,我建议您在处理脚本时正确调试脚本,以使所有注意事项或警告都一一消失。 因此,您应该首先使用以下命令将其设置为尽可能详细: 更

  • 我已经创建了一个登录名。html页面和登录名。php脚本。在脚本中,它将首先获得我们输入的用户名和密码,然后使用数据库检查用户名或密码是否存在,如果用户有效,则它将检查他的部门id,并使用部门权限打开他们的页面,但问题是无论他们的部门是什么,都会一直打开管理页面。请帮我做这件事。 这是我的login.html代码 登录。php脚本