Моя цель - запустить php на сервере Glassfish. Я установил Quercus и развернул его как приложение в Glassfish в папке (C:\glassfish4\glassfish\domains\domain1\applications\Quercus).
Теперь я пытаюсь подключиться к mysql. Сервер mysql запущен, и соединение проверяется с помощью команды (mysql -u root -p).
создается следующий test.php:
<?php
$servername="localhost";
$username="root";
$password="whatever";
$conn = new mysqli($servername, $username, $password);
if (!$conn) {
die("Failed : " . mysqli.connect_error());
}
echo "Connection Successful!";
?>
Запуск test.php дает следующее сообщение:
Warning: A link to the server could not be established.
url=jdbc:mysql://localhost/?
jdbcCompliantTruncation=false&characterSetResults=ISO885_1&characterEncoding=ISO8859_1&userServerPrepStmts=true
driver=com.mysql.jdbc.Driver com.caucho.quercus.QuercusModuleException:java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
Connection Successful!
Судя по сообщению, драйвер mysql jdbc не установлен.
Я добавил драйвер в C:\glassfish4\glassfish\domains\domain1\lib\mysql-connector-java-8.0.11\mysql-connectior-java-8.0.11.jar. Я не уверен, как добавить его из консоли администратора Glassfish. Он не отображается в пуле соединений jdbc>.
2-е РЕДАКТИРОВАТЬ (на основе комментариев): файлы jar также перемещаются в ...\domain1\lib и ...\glassfish\lib. Произведен полный перезапуск системы. Чтобы добавить пул соединений, я выполнил инструкции по следующей ссылке: https://dev.mysql.com/doc/connector-j/5.1/en/connector-j-usagenotes-glassfish-config.html
Затем я получаю следующее сообщение об ошибке:
HTTP Status 500 - Internal Server Error:
type Exception report
message Internal Server Error
description The server encountered an internal error that prevented it from fulfilling this request.
exception java.lang.IllegalStateException: getoutputStream() has already been called for this response.
...
C:\glassfish4\glassfish\domains\domain1\lib
(как библиотеку домена), либо вC:\glassfish4\glassfish\lib
(как глобальную библиотеку). У меня нет опыта работы с драйвером mysqli Quercus, но я только что просмотрел реализацию, я не думаю, что вам нужно настраивать ресурсы jdbc в GF, чтобы он работал. Итак, если драйвер находится в правильном месте, он должен работать. - person fvu   schedule 10.06.2018