gpt4 book ai didi

php - .env 文件不会将变量加载到 config.php - 学生设置第一个 php 开发环境

转载 作者:行者123 更新时间:2023-12-04 18:49:42 25 4
gpt4 key购买 nike

大家下午,
我是一名学习计算机科学的学生,我正在尝试重新创建我的 friend 用来托管他们基于 PHP 的 Web 应用程序的环境。他们在 Mac 上使用 heroku local(Procfile 调用 heroku-php-apache2)来设置他们的环境。我在 Windows 10 PC 上,根据我所做的研究,heroku local 不受任何支持。因此,我启用了安装了 Ubuntu 18.04 和 Apache2 的 WSL,并且据我所知,下载并安装了使其运行所需的所有其他组件(composer、modrewrite、modenv 等)。 phpinfo(),heroku 的示例项目,以及我制作的任何简单的 php 页面都可以正常显示。另一方面,我 friend 的应用程序仍然给我带来麻烦。
他们使用 .env 来声明项目特定的环境变量,这些环境变量在 config.php 中进一步定义。该应用程序已部署并在 Heroku 和他们的机器上运行,但是当我尝试在我的机器上本地加载应用程序时,我收到一个异常,提示未加载环境变量。如果我将“local: php -S localhost:80”添加到 Procfile 并在 Ubuntu 上运行 heroku local,它会看到 .env 文件并说它已加载,只是为了回避我的 apache2 实例抛出的相同错误。
这可能是什么原因造成的?我已经编辑了 php.ini 以包含一个“E”,启用了 modrewrite 和 modenv,确保我的 .env 文件以 UTF-8 编码 - 我已经搜索了很多地方,因为这可能会发生,但我会继续来到死胡同。我缺少关于“heroku local”命令和实例的内容吗?我对 php、Web 服务器和一般编程仍然很陌生,因此任何有关我的 .env 文件为什么不工作的相关信息或我可以让 heroku local 在 Ubuntu 上使用 WSL 工作的任何可能方式都将受到高度赞赏。

最佳答案

我正在使用 WSL,但我的 .env 也有类似问题。不能正常工作。
尽管我仍在寻找更优雅的解决方案,但我现在依赖的 hack 是:

  • 将 .env 的内容复制到临时文本文件中。
  • 在该文本文件中,执行正则表达式查找和替换搜索“\n”并替换为“\nexport”(带有尾随空格)。
  • 将最后一行的“导出”移动到第一行。
  • 复制此临时文本文件的内容。
  • 粘贴到您的终端以运行这些命令。
  • 现在您应该可以运行您的应用程序了。
  • 关于php - .env 文件不会将变量加载到 config.php - 学生设置第一个 php 开发环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62707357/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com