Télécharger
Développer
Compte
Télécharger
Développer
Connexion
Mot de passe oublié ?
Créer un compte
Langue
Aide
Langue
Aide
×
Connexion
Nom du compte
Mot de passe
×
Mot de passe oublié ?
Traduction statut du Français
Catégorie :
Logiciel
Peuple
PersonalForge
Magazine
Wiki
Recherche
OSDN
>
Trouver un logiciel
>
Internet
>
WWW/HTTP
>
Dynamic Content
>
XOOPS
>
Ticket List/Search
>
Ticket #7994
XOOPS
Description
Résumé du projet
Dashboard - Développeur
Page Web
Développeurs
Galerie d'images
Liste des flux RSS
Activité
Statistiques
Historique
Téléchargements
List of Releases
Stats
Code Source
Liste des dépôts de code
CVS
Voir le référentiel
Ticket
Liste des tickets
Liste des Jalons
Liste des types
Liste des composants
Liste des tickets/RSS fréquemment utilisés
Soumettre un nouveau ticket
Documents
Communication
Forums
Liste des forums
Forum d’aide (1)
Discussion-Ouverte (1)
Listes de diffusion
Liste de ML
xoops-cvslog
Nouvelles
Ticket #7994
Liste des tickets
Soumettre un nouveau ticket
RSS
データベースのコネクション失敗時の処理
Date d'ouverture:
2006-02-06 16:12
Dernière mise à jour:
2006-07-04 11:16
monitor
ON
OFF
Rapporteur:
toshimitsu
Propriétaire:
(del#8225)
Type:
Bogues
État:
Ouvert [Owner assigned]
Composant:
(Aucun)
Jalon:
(Aucun)
Priorité:
5 - moyen
Sévérité:
5 - moyen
Résolution:
Invalid
Fichier:
Aucun
Détails
Répondre
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)
Propriétaire
Update from
(Aucun)
to
nobunobu
Résolution
Update from
Aucun
to
Invalid
Commentaire
Répondre
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
Commentaire
Répondre
Logged In: YES
user_id=6033
nobunobu さんへ
(さっき投稿がエラーになったので再投稿)
class/errorhandler.php内の判定処理には気が付いてませんでした。
ですが
piCalのように途中でerrorhandlerを切ってしまうものがあるし
errorhandlerに関係なく止めてしまう方がよいとは思います
2006-04-25 08:39
Updated by:
toshimitsu
Commentaire
Répondre
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
Commentaire
Répondre
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
Modifier
Ajouter un commentaire
You are not logged in.
I you are not logged in, your comment will be treated as an anonymous post. »
Connexion
Ajouter un commentaire
Aperçu
Soumettre
データベースのコネクション失敗したときでも
getDatabaseConnection
取得の失敗判定してはいるが、処理を中断せずにエラー
if (!$instance->connect())
{
trigger_error
("Unable to connect to database", E_USER_ERROR);
}
とだけしているが
xoops2.0.xでは
で次の処理 config 取得などの処理にいくのは
失敗して当然だが
$xoopsDB =& XoopsDatabaseFactory::getDatabaseConnection
();
とか
$db =& Database::getInstance();
失敗して当然なのに、コネクションが出来る前提でほとんど組ま
れているので
次の処理へ進んで半端に
処理がチグハグに継続されてしまう可能性がある方が
サイトにとって良くないと思います
キッパリ中断する方が影響が少ないのではないかと思います