openshift — PHP не может подключиться к MySQL в пользовательском образе S2I на основе Ubuntu

Играя с Openshift origin 3.9 на моих пользовательских серверах. Пока это был приятный опыт. Я строил пользовательское изображение s2i на основе Ubuntu для моего стека LEMP.

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

Не удалось подключиться к MySQL: (2002) Нет такого файла или каталога

Вот мой PHP-код:

$mysql_database = getenv("MYSQL_DATABASE");
$mysql_server_name =getenv("MYSQL_HOST");
$mysql_username = getenv("MYSQL_USER");
$mysql_password = getenv("MYSQL_PASSWORD");
$mysql_port = getenv("MYSQL_PORT");
$mysqli = new mysqli($mysql_server_name, $mysql_username, $mysql_password, $mysql_database, $mysql_port);
if ($mysqli->connect_errno) {
echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
die();
}

Некоторые наблюдения:

Я могу подключиться из MySQL CLI-клиента изнутри модуля.

введите описание изображения здесь

Это же приложение / код прекрасно работает с официальным образом openshift PHP s2i.

Я что-то упустил в моем s2i?

1

Решение

Проверьте свой phpinfo () и найдите расширение MySQLi. Если вы не можете найти, это означает, что у вас еще нет установленного расширения, и его нужно установить.

попробуйте установить с терминала

(Ubuntu/Mint) $ sudo apt-get install php(version)-mysql

замените (версию) любым вашим номером версии php. Например, php7.0 / php7.1 и т. Д.

Чтобы проверить phpinfo (), создайте файл phpinfo.php, к которому вы можете получить доступ из URL с содержимым

<?php
phpinfo()

Если у вас есть все и до сих пор не удается подключиться? Попробуйте проверить путь к файлу mysql.sock.

Откройте файл php.ini и найдите следующую строку:

mysql.default_socket

И сделайте это (знайте, где находится ваш mysql.sock)

mysql.default_socket = /path/to/mysql.sock

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]