在 Bluemix 中激活 PHP 个扩展
Activating PHP extensions in Bluemix
这是一个纯粹的 Bluemix 问题!
我已经在本地主机上顺利地获得了代码 运行,但是当我将它迁移到 Bluemix 时,我的数据库连接失败了。检查日志我发现问题 "Call to undefined function mysqli_init()" HTTP 响应 500。我发现扩展已被禁用以使其更小,并找到了一些关于它的详细信息:Buildpack options.
不幸的是,我已经尝试过了,但失败了。也许我误解了解决方案。
任何帮助将不胜感激。
编辑:
bgconfig --> bp-config 解决了 "undefined function error"
似乎添加了一些扩展,但不是全部。 "Fatal error:Class 'PDO' not found in /home/vcap/app/htdocs/db_config.php on line 15"
但是我在 options.json 中添加了 PDO 扩展。
我尝试添加 php.ini 覆盖
但是还是报同样的错误...
有关信息:db_config.php 上的第 15 行很简单:
$db = new PDO('mysql:host=us-cdbr-iron-east-02.cleardb.net;dbname=ad_dae231843a962ca', $username, $password);}
当然是在 try & catch 中。
有什么线索吗?
添加 options.json 文件的说明是正确的,从您的屏幕截图来看,该文件看起来是正确的。问题是你放置 options.json 文件的目录你调用了 .bgconfig
而它应该是 .bp-config
。
您能否更改目录名称,将应用程序重新推送到 Bluemix,它应该可以工作。
您发布的 options.json
文件是正确的。但是它在错误的目录中,它应该在名为 .bp-config/
的文件夹中。重命名文件夹并将您的应用程序重新推送回 Bluemix。
也尝试将 pdo_mysql
添加到 .bp-config/options.json
。
我刚刚用 PDO 驱动程序针对数据库测试了一些代码,它运行良好。我的 .bp-config/options.json
文件在下面。
{
"PHP_EXTENSIONS": ["pdo", "mysqli", "pdo_mysql", "mysql"]
}
我会用 MySQL 桌面客户端仔细检查您对数据库的访问。您的连接信息似乎有问题。
我有一个 example app 用于测试您与 PDO 的连接信息。
您的 composer.json
中是否定义了 mysql?
{
"require": {
"ext-mysqli": "*"
}
}
您可以在 composer.json 文件中添加扩展名
{
"require": {
"ext-mysqli": "*",
"ext-gd": "*"
}
}
这是一个纯粹的 Bluemix 问题!
我已经在本地主机上顺利地获得了代码 运行,但是当我将它迁移到 Bluemix 时,我的数据库连接失败了。检查日志我发现问题 "Call to undefined function mysqli_init()" HTTP 响应 500。我发现扩展已被禁用以使其更小,并找到了一些关于它的详细信息:Buildpack options.
不幸的是,我已经尝试过了,但失败了。也许我误解了解决方案。
任何帮助将不胜感激。
编辑:
bgconfig --> bp-config 解决了 "undefined function error"
似乎添加了一些扩展,但不是全部。 "Fatal error:Class 'PDO' not found in /home/vcap/app/htdocs/db_config.php on line 15"
但是我在 options.json 中添加了 PDO 扩展。
我尝试添加 php.ini 覆盖
但是还是报同样的错误...
有关信息:db_config.php 上的第 15 行很简单:
$db = new PDO('mysql:host=us-cdbr-iron-east-02.cleardb.net;dbname=ad_dae231843a962ca', $username, $password);}
当然是在 try & catch 中。
有什么线索吗?
添加 options.json 文件的说明是正确的,从您的屏幕截图来看,该文件看起来是正确的。问题是你放置 options.json 文件的目录你调用了 .bgconfig
而它应该是 .bp-config
。
您能否更改目录名称,将应用程序重新推送到 Bluemix,它应该可以工作。
您发布的 options.json
文件是正确的。但是它在错误的目录中,它应该在名为 .bp-config/
的文件夹中。重命名文件夹并将您的应用程序重新推送回 Bluemix。
也尝试将 pdo_mysql
添加到 .bp-config/options.json
。
我刚刚用 PDO 驱动程序针对数据库测试了一些代码,它运行良好。我的 .bp-config/options.json
文件在下面。
{
"PHP_EXTENSIONS": ["pdo", "mysqli", "pdo_mysql", "mysql"]
}
我会用 MySQL 桌面客户端仔细检查您对数据库的访问。您的连接信息似乎有问题。
我有一个 example app 用于测试您与 PDO 的连接信息。
您的 composer.json
中是否定义了 mysql?
{
"require": {
"ext-mysqli": "*"
}
}
您可以在 composer.json 文件中添加扩展名
{
"require": {
"ext-mysqli": "*",
"ext-gd": "*"
}
}