Descargar
Desarrollar
Cuenta
Descargar
Desarrollar
Entrar
Forgot Account/Password
Crear Cuenta
Idioma
Ayuda
Idioma
Ayuda
×
Entrar
Nombre de usuario
Contraseña
×
Forgot Account/Password
Translation Status of Español
Categoría:
Software
Gente
PersonalForge
Magazine
Wiki
Buscar
OSDN
>
Buscar Software
>
Internet
>
WWW/HTTP
>
Dynamic Content
>
XOOPS
>
Ticket List/Search
>
Incidencia #7994
XOOPS
Descripción
Project Summary
Developer Dashboard
Página Web
Developers
Image Gallery
List of RSS Feeds
Activity
Statistics
Historial
Descargas
List of Releases
Stats
Código Fuente
Code Repository list
CVS
Ver Repositorio
Incidencia
Ticket List
Milestone List
Type List
Component List
List of frequently used tickets/RSS
Submit New Ticket
Documents
Communication
Foros
List of Forums
Ayuda (1)
Open Discussion (1)
Mailing Lists
list of ML
xoops-cvslog
Noticias
Incidencia #7994
Ticket List
Submit New Ticket
RSS
データベースのコネクション失敗時の処理
Abrir Fecha:
2006-02-06 16:12
Última actualización:
2006-07-04 11:16
monitor
ON
OFF
Informador:
toshimitsu
Propietario:
(del#8225)
Tipo:
Bugs
Estado:
Open [Owner assigned]
Componente:
(Ninguno)
Hito:
(Ninguno)
Prioridad:
5 - Medium
Gravedad:
5 - Medium
Resolución:
Invalid
Fichero:
Ninguno
Details
Responder
Xoops2系全
データベースのコネクション失敗したときでも
getDatabaseConnection
取得の失敗判定してはいるが、処理を中断せずにエラー
if (!$instance->connect())
{
trigger_error
("Unable to connect to database", E_USER_ERROR);
}
とだけしているが
xoops2.0.xでは
で次の処理 config 取得などの処理にいくのは
失敗して当然だが
$xoopsDB =& XoopsDatabaseFactory::getDatabaseConnection
();
とか
$db =& Database::getInstance();
失敗して当然なのに、コネクションが出来る前提でほとんど組ま
れているので
次の処理へ進んで半端に
処理がチグハグに継続されてしまう可能性がある方が
サイトにとって良くないと思います
キッパリ中断する方が影響が少ないのではないかと思います
Ticket History (3/4 Histories)
Show older Histories
2006-02-06 16:46
Updated by:
(del#8225)
Propietario
Update from
(Ninguno)
to
nobunobu
Resolución
Update from
Ninguno
to
Invalid
Comentario
Responder
Logged In: YES
user_id=8225
trigger_error("Unable to connect to database", E_USER_ERROR);
をかけることによって、
class/errorhandler.php内の、function handleError($error)にて
E_USER_ERROR場合は強制終了するように、すでになっていると思い
ます。
なにか次の行に進んでいるような形跡があればお知らせください。
2006-04-06 17:21
Updated by:
toshimitsu
Comentario
Responder
Logged In: YES
user_id=6033
nobunobu さんへ
(さっき投稿がエラーになったので再投稿)
class/errorhandler.php内の判定処理には気が付いてませんでした。
ですが
piCalのように途中でerrorhandlerを切ってしまうものがあるし
errorhandlerに関係なく止めてしまう方がよいとは思います
2006-04-25 08:39
Updated by:
toshimitsu
Comentario
Responder
Logged In: YES
user_id=6033
xoops2.0.14 rc1 を確認するついで見たのですが
class/errorhandler.php内の、function handleError($error)にて
では、
PHPデバグをONのときにしか、動作は中断されません
判定の順番がおかしいです
-------------------
function handleError($error)
{
if (($error['errno'] & error_reporting()) != $error
['errno']) {
return;
}
$this->_errors[] = $error;
if ($error['errno'] == E_USER_ERROR) {
$this->_isFatal = true;
exit();
}
}
-----------------
変更するとするとこのこの順でないと
意図した動きにはならないはずです
function handleError($error)
{
if ($error['errno'] == E_USER_ERROR) {
$this->_isFatal = true;
exit();
}
if (($error['errno'] & error_reporting()) != $error
['errno']) {
return;
}
$this->_errors[] = $error;
}
-------------------------------
どちらにしても、多くの人が利用しているpical を使用している場合は
ブロックを表示するだけでも、
途中でerrorhandlerはキャンセルされるはずなので
これにたよりすぎるのはいかがと思います
止めた方がよいところは止める方がベターだと思います
2006-07-04 11:16
Updated by:
toshimitsu
Comentario
Responder
Logged In: YES
user_id=6033
function handleError($error)にて
error_reporting(0)の時は強制終了はしないのではないでしょうか?
つまりデバグをONにしたときにしか強制終了はしないというふうになっ
ていると思います
やっぱり止めたいなら判定処理の順番がおかしいと思う
------------------
/**
* Handle an error
*
* @param array $error Associative array containing
error info
* @access public
* @return void
*/
function handleError($error)
{
if ($error['errno'] == E_USER_ERROR) {
$this->_errors[] = $error; //エラーメッセージを表
示のため
$this->_isFatal = true;
exit();
}
if (($error['errno'] & error_reporting()) != $error
['errno']) {
return;
}
$this->_errors[] = $error;
}
--------------------
Attachment File List (
0
)
Attachment File List
No attachments
Editar
Add Comment
You are not logged in.
I you are not logged in, your comment will be treated as an anonymous post. »
Entrar
Add Comment
Vista previa
Submit
データベースのコネクション失敗したときでも
getDatabaseConnection
取得の失敗判定してはいるが、処理を中断せずにエラー
if (!$instance->connect())
{
trigger_error
("Unable to connect to database", E_USER_ERROR);
}
とだけしているが
xoops2.0.xでは
で次の処理 config 取得などの処理にいくのは
失敗して当然だが
$xoopsDB =& XoopsDatabaseFactory::getDatabaseConnection
();
とか
$db =& Database::getInstance();
失敗して当然なのに、コネクションが出来る前提でほとんど組ま
れているので
次の処理へ進んで半端に
処理がチグハグに継続されてしまう可能性がある方が
サイトにとって良くないと思います
キッパリ中断する方が影響が少ないのではないかと思います