Kategorien
Debugging Deployment Linux Server Shell VIM

suchen und ersetzen mit vim


# sucht im inhalt der datei nach suchbegriff
/suchbegriff

# ersetzt im inhalt der datei alt mit neu
# slashes und * im patter/replacement müssen escaped werden
:%s/alt/neu/g

Kategorien
Agavi Debugging Frameworks Linux PHP Shell XML

Agavi Custom Logger implementieren

Um in Agavi custom logfiles zu erstellen, benötigt man einen eigens erstellten logger + appender in der app/config/logger.xml.

<!-- logs only custom messages in a custom log -->
<logger name="custom" class="AgaviLogger" level="'custom'">
    <appenders>
        <appender>CustomLogAppender</appender>
    </appenders>
</logger>

<appender name="CustomLogAppender" class="AgaviFileLoggerAppender" layout="DateTimeLayout">
    <ae:parameters>
        <ae:parameter name="file">%core.app_dir%/log/custom.log</ae:parameter>
    </ae:parameters>
</appender>

Dann kann man den Logger quasi überall wo der LoggerManager verfügbar ist benutzen.

$message = 'Custom logging message';
$this->getContext()->getLoggerManager()->log(new AgaviLoggerMessage($message, 'custom'), 'custom');

Und in der bash das logfile einsehen.

tail -f app/log/custom.log
Kategorien
Debugging PHP

PHPBench – PHP auf dem Prüfstand

Hier der Link zu PHPBench. Benchmarks für PHP Funktionen.

phpbench.com

Kategorien
Debugging Linux PHP PHPUnit Server Shell XDebug

Debugging mit XDebug und KCachegrind

XDebug ist das sehr beliebte und allseits bewährte Tool, das nicht nur Stacktrace und var_dumps ausgeben kann, sondern ebenso für CodeCoverage, echtes Debuggen, Profiling und Testen mit PHPUnit gedacht ist.

XDebug kann Profiler Dateien erzeugen, die man mit KCacheGrind perfekt auswerten kann. So bleibt kein Flaschenhals in der Applikation unbemerkt.

xdebug.org
kcachegrind.sourceforge.net