docker - 我的 PHP 如何识别它是通过 Docker 还是 Xampp 运行?

标签 docker dynamic xampp

我有一个 PHP 登录系统,应该构建为同时在 XAMPP 和 Docker 上运行。我的数据库需要本地存储。

我像这样创建容器和图像:

图片:docker build -t php 。容器: docker run -dp 9000:80 --name php-app php

<?php
$host = "host.docker.internal"; // need to be that or 'localhost'
$name = "test";
$user = "root";
$passwort = "";
try {
    $mysql = new PDO("mysql:host=$host;dbname=$name", $user, $passwort);
}

catch (PDOException $e) {
    echo "SQL Error: ".$e->getMessage();
}

?>

我从哪里获取有关我正在运行的系统的信息以使该值动态化?

最佳答案

你可以这样检查你是否在 Docker 中:

function isDocker(): bool
{
    return is_file("/.dockerenv");
}

关于docker - 我的 PHP 如何识别它是通过 Docker 还是 Xampp 运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70077960/

相关文章:

mongodb - 无法使用docker命令启动mongo,但可以在容器内使用/bin/bash(有数据量)

Docker 容器无法使用 macvlan 网络驱动程序访问或 ping WAN

ruby-on-rails - Docker - docker-compose 'version' 没有任何配置选项

c++ - 动态内存分配被覆盖?

mysql - 使用列名的动态行数据重建表的 SQL 查询

docker - 如何在 docker 容器内托管 asp.net core web api

c# - asp.net 使用 javascript 隐藏下拉列表中的特定项目

php - Apache 没有从 XAMPP 控制面板运行(错误 : Apache shutdown unexpectedly. 这可能是由于端口被阻塞)

security - 在 Apache 和文档根目录中使用 SSL 保护页面

PHP如何停止从本地主机发送电子邮件