Это вопрос чисто Bluemix!
У меня код работает нормально на локальном хосте, но когда я перенес его в Bluemix, мое соединение с БД оказалось неудачным. При проверке журналов я обнаружил проблему «Вызов неопределенной функции mysqli_init ()» HTTP-ответ 500. Я выяснил, что расширение было отключено, чтобы уменьшить его и нашел некоторые сведения об этом: Параметры Buildpack .
К сожалению, я пробовал это и потерпел неудачу. Возможно, я неправильно понял решение.
Любая помощь будет принята с благодарностью.
РЕДАКТИРОВАТЬ:
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 конечно.
Любые подсказки?
Файл 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.
Инструкции по добавлению файла options.json являются правильными, и с вашего снимка экрана файл выглядит правильно. Проблема в том, что каталог, в который вы поместили файл options.json, вы вызывали .bgconfig
когда он должен быть .bp-config
.
Можете ли вы изменить имя каталога, отменить приложение на Bluemix, и оно должно работать.
У вас есть mysql, определенный в вашем composer.json
?
{ "require": { "ext-mysqli": "*" } }
вы можете добавить расширение в файл composer.json
{ "require": { "ext-mysqli": "*", "ext-gd": "*" } }