PM-1903 "0017014: ProcessMaker loses connection..." SOLVED
Issue:
0017014: ProcessMaker loses connection with database -> lack of mysql_close()
Cause:
- Error al tratar de conectarse a la BD
- Segun el feedback proporcianado, el problema central
se basa en que no se esta haciendo uso del mysql_close()
Solution:
- Se a logrado implementar el close de los connects a BD abiertos
- Este cambio repercute en toda la funcionalidad de ProcessMaker. Por lo
que se debera hacer un test con todos los flags de depuracion
habilitados, tambien con todos los plugins habilitados/deshabilitados
- Tambien se debe considerar otros "test cases"
This commit is contained in:
14
gulliver/thirdparty/propel/Propel.php
vendored
14
gulliver/thirdparty/propel/Propel.php
vendored
@@ -598,12 +598,16 @@ class Propel {
|
|||||||
*/
|
*/
|
||||||
public static function close()
|
public static function close()
|
||||||
{
|
{
|
||||||
$last = '';
|
$lastQuery = "";
|
||||||
foreach(self::$connectionMap as $conn) {
|
|
||||||
if ($last != $conn->lastQuery) {
|
foreach (self::$connectionMap as $cnn) {
|
||||||
$conn->close();
|
if (!($cnn instanceof DBArrayConnection)) {
|
||||||
|
if (gettype($cnn->getResource()) == "resource" && $cnn->isConnected() && $cnn->lastQuery != $lastQuery) {
|
||||||
|
$cnn->close();
|
||||||
|
}
|
||||||
|
|
||||||
|
$lastQuery = $cnn->lastQuery;
|
||||||
}
|
}
|
||||||
$last = $conn->lastQuery;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,15 @@
|
|||||||
<?php
|
<?php
|
||||||
|
register_shutdown_function(
|
||||||
|
create_function(
|
||||||
|
"",
|
||||||
|
"
|
||||||
|
if (class_exists(\"Propel\")) {
|
||||||
|
Propel::close();
|
||||||
|
}
|
||||||
|
"
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* ProcessMaker Web Application Bootstrap
|
* ProcessMaker Web Application Bootstrap
|
||||||
*/
|
*/
|
||||||
|
|||||||
Reference in New Issue
Block a user