Активация расширений PHP в Bluemix


Это чисто вопрос Bluemix!

У меня есть код, который работает гладко на локальном хосте, но когда я перенес его в Bluemix, у меня не получилось подключиться к БД. Проверяя журналы, я обнаружил проблему "Вызов неопределенной функции mysqli_init()" HTTP-ответ 500. Я узнал, что расширение было отключено, чтобы уменьшить его размер, и нашел некоторые подробности об этом: Параметры пакета сборки.

К сожалению, я пробовал это и потерпел неудачу. Может быть, я неправильно понял решение.

Мы будем очень признательны за любую помощь.

ИЗМЕНИТЬ:

Bgconfig-->bp-config устранена "ошибка неопределенной функции"

Похоже, что некоторые расширения были добавлены, но не все. "Фатальная ошибка: класс "PDO" не найден в /home/vcap/app/htdocs/db_config.php в строке 15"

Однако я добавил расширение PDO в options.json.

Я попытался добавить перезапись php.ini

Но все равно получаю ту же ошибку...

Для информации: строка 15 на db_config.php это просто:

$db = new PDO('mysql:host=us-cdbr-iron-east-02.cleardb.net;dbname=ad_dae231843a962ca', $username, $password);}

В рамках try & catch, конечно.

Есть какие-нибудь подсказки?

Author: Community, 2015-08-24

4 answers

Файл options.json является правильным, который вы опубликовали. Однако он находится в неправильном каталоге, он должен находиться в папке с именем .bp-config/. Переименуйте папку и верните свое приложение обратно в Bluemix.

Также попробуйте добавить pdo_mysql в .bp-config/options.json.

Я только что протестировал некоторый код с драйвером PDO на базе данных, и он работал нормально. Мой файл .bp-config/options.json приведен ниже.

{
    "PHP_EXTENSIONS": ["pdo", "mysqli", "pdo_mysql", "mysql"]
}

Я бы дважды проверил ваш доступ к базе данных с помощью настольного клиента MySQL. Похоже, у вас проблема с подключением информация.

У меня есть пример приложения для проверки вашей информации о соединении с PDO.

 6
Author: Jeff Sloyer, 2015-08-24 17:07:04

Инструкции по добавлению файла options.json являются правильными, и, судя по вашему снимку экрана, файл выглядит правильным. Проблема в том, что каталог, в который вы поместили файл options.json, вы назвали .bgconfig, когда он должен быть .bp-config.

Можете ли вы изменить имя каталога, повторно загрузить приложение в Bluemix, и оно должно работать.

 0
Author: whitfiea, 2015-08-25 06:42:42

Есть ли у вас mysql, определенный в вашем composer.json?

{
  "require": {
    "ext-mysqli": "*"
  }
}

Https://github.com/IBM-Bluemix/php-mysql

 -1
Author: Ram Vennam, 2015-08-24 13:23:16

Вы можете добавить расширение в файл composer.json

{
  "require": {
    "ext-mysqli": "*",
    "ext-gd": "*"
  }
}
 -1
Author: Ram Tripathi, 2016-02-13 09:43:26