Веб-приложение Php не может обрабатывать службу mysql clearDB в bluemix

Я пытаюсь развернуть веб-приложение php на bluemix. Итак, я привязал службу mysql clearDB к своему приложению. Мне предоставлена ​​переменная vcap_service. но когда я использую эту переменную для выполнения простого SQL-запроса, страница приложения ничего не делает, в то время как тот же код хорошо работает с xamp localhost. пожалуйста, помогите мне.

вот код:

<?php
$servername = "us-cdbr-iron-east-02.cleardb.net";
$username = "b23807********";
$password = "********";
$dbname = "ad_70723170af1****";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

// sql to create table
$sql = "CREATE TABLE flybird (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL,
email VARCHAR(50),
reg_date TIMESTAMP
)";

if ($conn->query($sql) === TRUE) {
    echo "Table flybird created successfully";
} else {
    echo "Error creating table: " . $conn->error;
}

$conn->close();
?>

Отображается следующая ошибка: Получено сообщение об ошибке PHP: PHP Неустранимая ошибка: класс mysqli не найден в /home/vcap/app/htdocs/table.php в строке 8\n.


person Sahil S.    schedule 01.06.2015    source источник
comment
А где твой код?   -  person pavel    schedule 01.06.2015
comment
Простите, сэр! но теперь я добавил код.   -  person Sahil S.    schedule 01.06.2015
comment
Не могли бы вы опубликовать вывод: cf logs appname --recent   -  person vmovva    schedule 01.06.2015
comment
Ага! Функция mysqli была проблемой. Сейчас приложение работает отлично. Большое спасибо   -  person Sahil S.    schedule 02.06.2015
comment
@SahilS, не могли бы вы принять ответ?   -  person Jeff Sloyer    schedule 20.07.2015


Ответы (3)


Существует проблема с пакетом сборки php, вам необходимо явно добавить функцию mysqli в ваше приложение.

Создайте файл с именем .bp-config/options.json. Вы можете настроить расширения php buildpack, проверьте это для получения дополнительной информации.

Содержимое должно содержать следующее.

{
    "PHP_EXTENSIONS": ["mysqli"]
}
person Jeff Sloyer    schedule 01.06.2015
comment
Ага! Функция mysqli была проблемой. Сейчас приложение работает отлично. Большое спасибо - person Sahil S.; 02.06.2015

вы должны указать зависимость mysqli от конфигурации composer.json.

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

person v.bontempi    schedule 19.08.2015

Я думаю, вам нужно явно добавить функцию mysqli в ваше приложение.

Вы должны включить библиотеку в файле .bp-config/options.json. Как в примере ниже

EX:

{ "PHP_EXTENSIONS": ["mysqli"] }

Если в вашем приложении нет этого файла, просто создайте его, добавьте расширение и отправьте его в приложение Bluemix. (ссылка)

Проверьте эту страницу на сайте developerworks для получения дополнительной информации, я думаю, что это та же проблема, что и у вас (ссылка)

person Rafael Pereira    schedule 01.06.2015
comment
Ага! Функция mysqli была проблемой. Сейчас приложение работает отлично. Большое спасибо - person Sahil S.; 02.06.2015