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()
|
||||
{
|
||||
$last = '';
|
||||
foreach(self::$connectionMap as $conn) {
|
||||
if ($last != $conn->lastQuery) {
|
||||
$conn->close();
|
||||
$lastQuery = "";
|
||||
|
||||
foreach (self::$connectionMap as $cnn) {
|
||||
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
|
||||
register_shutdown_function(
|
||||
create_function(
|
||||
"",
|
||||
"
|
||||
if (class_exists(\"Propel\")) {
|
||||
Propel::close();
|
||||
}
|
||||
"
|
||||
)
|
||||
);
|
||||
|
||||
/*
|
||||
* ProcessMaker Web Application Bootstrap
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user