php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 04-10-2007, 00:42
dark alex
 Newbie
Links : Onlinestatus : dark alex ist offline
Registriert seit: Oct 2007
Beiträge: 5
dark alex ist zur Zeit noch ein unbeschriebenes Blatt
Standard [PHP5] Funktion innerhalb des Skripts umbenennen?

Hi!

Ich bin Entwickler von dem Browsergame Krieg der Galaxien ( http://www.k-d-g.net ).

Ich stehe nun vor de rProblematik, das sich anfangs nicht genug an logs gedacht habe.

Mein Problem:
Ich möchte alle MySQL-Abfragen, ausser SELECTs loggen.
Dazu müsste ich nun aber die Funktion mysql_query umbenennen, und eine neue mysql_query schreiben, die loggt und dann abfrage startet.

Ich habe eine Funktion kdglog(), die mir einen gegebenen String in eine Datei schreibt.
Nun habe ich diesen Versuch erfolgreich durchgeführt (nach installation von dem PECL Paket apd):
PHP-Code:
rename_function('mysql_query''mysql_unlogged_query');
function 
mysql_logged_query($query$log=true$line=0$file=0) {
    if (
$file == 0$file $_GLOBALS['file'];
    
$split explode(' '$query2);
    if (
$split[0] == 'SELECT' || $split[0] == 'Select' || $split[0] == 'select') return mysql_unlogged_query($query);
    
kdglog($query.' || Line: '.$line$file'./logfiles/');
    
//meldung($query." @ ".$line." in ".$file);
    
return mysql_unlogged_query($query);
}
rename_function('mysql_logged_query''mysql_query'); 
Leider benennt rename_function() die funktion Systemweit um. Ich benötige diese veränderte Funktion jedoch nur innerhalb des skripts, wo sie umbenannt wird.
Das problem: Systemweite Änderungen beeinflussen ein ganzes Netzwerk an Internetseiten (GlobalGamePort)

Welche Möglichkeiten habe ich dies umzusetzen, oder ist das nicht möglich?
Mit Zitat antworten
  #2 (permalink)  
Alt 04-10-2007, 00:50
tontechniker
 PHP Senior
Links : Onlinestatus : tontechniker ist offline
Registriert seit: Jul 2005
Beiträge: 1.972
tontechniker ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Völlig falscher Ansatz - du solltest direkt auf den MySQL-Server gehen.
__________________
Die Regeln | rtfm | register_globals | strings | SQL-Injections | []
Mit Zitat antworten
  #3 (permalink)  
Alt 04-10-2007, 00:54
dark alex
 Newbie
Links : Onlinestatus : dark alex ist offline
Registriert seit: Oct 2007
Beiträge: 5
dark alex ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Erstmal danke für die antwort.

Problem: Auf dem server sind die datenbanekn, deren zugriffe geloggt werden sollen etwa 3% von allen.

Auf dem server gehen pro sekunde 10-50 MySQL-Abfragen durch.
Das macht ne riiiiesen log ;-)

deshalb will cih auch nur die loggen, die wichtig sind. und das sin die abfragen, ausser select, die von KDG selbst erzeugt werden.
Mit Zitat antworten
  #4 (permalink)  
Alt 04-10-2007, 01:11
Slava
 PHP Senior
Links : Onlinestatus : Slava ist offline
Registriert seit: Nov 2002
Ort: Köln->Karlsruhe
Beiträge: 1.589
Slava befindet sich auf einem aufstrebenden Ast
Standard

Hi Alex!
ich habe kein Antwort auf deine Frage, da ich mit umbenennen von Funktionen keine Erfahrung habe.
Ist es nicht einfacher 3% von deinen mysql_query Aufrufe einfach durch eine neue funktion zu ersetzen, die zbs mysql_logged_query heist?
__________________
Slava
bituniverse.com
Mit Zitat antworten
  #5 (permalink)  
Alt 04-10-2007, 01:17
dark alex
 Newbie
Links : Onlinestatus : dark alex ist offline
Registriert seit: Oct 2007
Beiträge: 5
dark alex ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Da haste was falsch verstanden:

dieser Mysqlserver hat ca 130 DBs. davon gehören 3% zu KDG.
KDDG macht pro sekunde ca 5 Querys an die DBs. Der rest ist unwichtig für uns.
Von diesen 5 Querys müssten auch nur 2-3 geloggt werden.

Also sagen wir ca 90% der Logfile wäre Datenmüll.

Deshalb meine individuelle log.

Problem: Das ändern des funktionsaufruf würde ca eine woche lang dauern.

~ 400 Dateien zu durchwühlen
Mit Zitat antworten
  #6 (permalink)  
Alt 04-10-2007, 01:31
3DMax
 PHP Senior
Links : Onlinestatus : 3DMax ist offline
Registriert seit: Jan 2004
Beiträge: 1.916
3DMax ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von dark alex
Problem: Das ändern des funktionsaufruf würde ca eine woche lang dauern.

~ 400 Dateien zu durchwühlen
suchen und ersetzen in dateien dauert nicht so lange.
Mit Zitat antworten
  #7 (permalink)  
Alt 04-10-2007, 01:41
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Selbst das Schreiben eines Scripts dafür dauert nur 2 Minuten.
PHP-Code:
<?php
foreach(glob('/srv/www/htdocs/kdg/*.php') as $filename) {
    
$file file_get_contents($filename);
    
$file preg_replace('/mysql_query\s*\(/U''mysql_logged_query('$file);
    
file_put_contents($filename$file);
}
?>
EDIT:
Forum frißt Backslashes!
Mit Zitat antworten
  #8 (permalink)  
Alt 05-10-2007, 07:44
dark alex
 Newbie
Links : Onlinestatus : dark alex ist offline
Registriert seit: Oct 2007
Beiträge: 5
dark alex ist zur Zeit noch ein unbeschriebenes Blatt
Cool

Jo! Danke!

Ich hab mir was gebastelt, was mir in jede datei oben rein die funktionsdatei includiert.

Somit kann ich dann alles ersetzen.
Mit Zitat antworten
  #9 (permalink)  
Alt 05-10-2007, 10:19
PHP-Desaster
 PHP Expert
Links : Onlinestatus : PHP-Desaster ist offline
Registriert seit: Mar 2006
Beiträge: 3.105
PHP-Desaster befindet sich auf einem aufstrebenden Ast
Standard

Ich sag mal, scheiß Applicationsdesign. Hättet ihr eine Klasse für die Kapselung der Funktionen verwendet, wäre das jetzt wahrscheinlich lange kein so großes Problem! Aber das ist ein anderes Thema
Mit Zitat antworten
  #10 (permalink)  
Alt 05-10-2007, 13:24
dark alex
 Newbie
Links : Onlinestatus : dark alex ist offline
Registriert seit: Oct 2007
Beiträge: 5
dark alex ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Naja an die Problematik hat anfangs keiner gedacht.

Leider.
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 06:50 Uhr.