php - Openshift:PHP 中未设置数据库环境变量

标签 php mysql openshift openshift-cartridge openshift-php-cartidges

我在 Openshift 上创建了一个 php 应用程序。然后我将 MySQL 数据库添加到我的应用程序中。之后我可以使用 env 命令在 SSH shell 中查看与数据库相关的变量。

但是,当我尝试使用环境变量来设置数据库连接时,它不会将它们重新运行到我的 php 代码。举个例子:

<?php
echo('App: '.$_ENV["OPENSHIFT_APP_NAME"].'<br/>');
echo('Host: '.$_ENV["OPENSHIFT_MYSQL_DB_HOST"]);

OPENSHIFT_APP_NAME 正确返回应用程序名称,但 OPENSHIFT_MYSQL_DB_HOST 为空且主机信息不可用。

我还在控制台中重新启动了我的应用程序。 作为通知,我使用 WinScp 直接上传我的应用程序,我不确定 php 应用程序的部署是否需要更多或更少的东西(比如一些 require 东西)?

更新:

当我检查 phpMyAdmin 代码时,我看到它有一个文件“conf.d/passenv.conf”,其语法如下:

PassEnv OPENSHIFT_MYSQL_DB_PORT 

希望能帮助解决我的问题。

最佳答案

您需要停止并启动(而不是重新启动)您的应用程序,因为您在创建应用程序后添加了 MySQL。 使用 rhc app stop 和 rhc app start 命令。

关于php - Openshift:PHP 中未设置数据库环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38475568/

相关文章:

node.js - OpenShift - 从另一个齿轮连接到缩放齿轮的 MySQL 盒

php - Symfony 2 在服务器表名错误上运行

php - 在 PHP Web 应用程序中构建时区功能

php - Ajax 在下拉列表中发送相同的值但不同的选项

php - 如何使用 PHP 使用 MySQL 数据填充 Excel 电子表格

security - OpenShift 是否通过在主机级别隔离容器来支持真正的 Multi-Tenancy ?

php - 通过 php 执行命令行?

mysql - 如何将代理 URL 传递到该代理后面的计算机?

java - Android 表格行 onClickListener

java - 如何将 postgresql 添加到 OpenShift Spring 应用程序?