Screen Session unter Linux starten

16. April 2012 at 17:03

Ihr möchtet sicher gehen dass ein längerer Script definitiv ausgeführt wird, auch wenn z.B. die Terminal-Session geschlossen wird?

Dafür gibt es das GNU/Linux Tool „screen“.

Mit
screen -ls

könnt ihr euch alle laufenden Screen-Sessions anzeigen lassen.

Eine neue Session startet ihr mit
screen -S sessionname

Die eröfnete Session wieder fort führen mit
screen -r sessionname

Weitere Informationen zu Screen wie immer mit
man screen

 

php mail bzw. sendmail temporär umleiten zu dev/null – email versand unterbinden von php / sendmail

26. März 2012 at 17:59

Ihr möchtet den Versand von E-Mails durch php bzw. sendmail unterbinden?

Dafür gibt es verschiedene Möglichkeiten, z.B. könnt ihr ein alias einrichten, einfach in der Datei

/etc/aliases

ein bestimmten user eintragen sowie das Ziel, also:

bestimmteruser:         /dev/null

Alternativ in php den sendmail_path zu /dev/null umbiegen und auch den Port „umbiegen“.
Tragt hierzu am Anfang eures Scriptes (z.B. index.php) folgende Zeilen ein:

<?php
ini_set("sendmail_path", "/dev/null");
ini_set("smtp_port","26");
?>

subversion: Wie einen falschen svn commit rückgängig machen? – How to revert a bad commit

29. Februar 2012 at 14:07

Im SVN wurde ein falscher Commit getätigt? Und der soll nun wieder rückgängig gemacht werden? Wie ein SVN Commit reverten? Ganz einfach mit folgendem Befehl von der aktuellen Version zur vorherigen mergen:

svn merge -r [current_version]:[previous_version] [repository_url]

Danach die Änderungen mit dem folgenden Befehl in SVN übertragen:

svn commit

Fertig! 😉

 

Alle lokalen Änderungen per svn revert zurück setzen

17. Februar 2012 at 12:28

Mit dem folgenden Command könnt ihr alle lokal geänderten Dateien inkl. Unterordner reverten (leider fehlt dem SVN-Command dafür eine Option):

svn st -q | awk '{print $2;}' | xargs svn revert

Memchache per Telnet löschen / leeren

18. Januar 2012 at 17:33

Den Memcache des Apache könnt ihr wie folgt über Telnet Verbindung leeren/löschen/aktualisieren:

Connected euch zum telnet server und dem memcache port:

telnet localhost 11211

Wenn ihr erfolgreich connected wurdet, erhaltet ihr die Meldung „Connected to localhost.“

Danach einfach ein

flush_all

und mit

quit

wieder telnet beenden. Schon sollte alles „schön“ sein! 🙂

redirect mobile clients with mod_rewrite

30. August 2011 at 12:00

If you want redirect mobile clients to an own domain, you can do this about the .htaccess file with the following code:

<IfModule mod_rewrite.c>
 RewriteEngine on
 RewriteCond %{HTTP_HOST} !^.mobile\.domain\.de$
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{HTTP_USER_AGENT} "acs|alav|alca|amoi|audi|aste|avan|benq|bird|blac|blaz|brew|cell|cldc|cmd-" [NC,OR]
 RewriteCond %{HTTP_USER_AGENT} "dang|doco|eric|hipt|inno|ipaq|java|jigs|kddi|keji|leno|lg-c|lg-d|lg-g|lge-" [NC,OR]
 RewriteCond %{HTTP_USER_AGENT} "maui|maxo|midp|mits|mmef|mobi|mot-|moto|mwbp|nec-|newt|noki|opwv" [NC,OR]
 RewriteCond %{HTTP_USER_AGENT} "palm|pana|pant|pdxg|phil|play|pluc|port|prox|qtek|qwap|sage|sams|sany" [NC,OR]
 RewriteCond %{HTTP_USER_AGENT} "sch-|sec-|send|seri|sgh-|shar|sie-|siem|smal|smar|sony|sph-|symb|t-mo" [NC,OR]
 RewriteCond %{HTTP_USER_AGENT} "teli|tim-|tosh|tsm-|upg1|upsi|vk-v|voda|w3cs|wap-|wapa|wapi" [NC,OR]
 RewriteCond %{HTTP_USER_AGENT} "wapp|wapr|webc|winw|winw|xda|xda-" [NC,OR]
 RewriteCond %{HTTP_USER_AGENT} "up.browser|up.link|windowssce|iemobile|mini|mmp" [NC,OR]
 RewriteCond %{HTTP_USER_AGENT} "symbian|midp|wap|phone|pocket|mobile|pda|psp" [NC]
 RewriteCond %{HTTP_USER_AGENT} "!(macintosh|ipad)" [NC]
 RewriteRule ^(.*)$ http://mobile.domain.de/ [L,R=302]
</IfModule>

XDebug auf Zend Server CE (Community Edition) unter Windows einrichten (mit PHP 5.2)

21. Juli 2011 at 12:55

zend logoZwar ist ZendDebugger beim Zend-Server integriert, allerdings habe ich ihn mit phpStorm nicht zum laufen bekommen, von d.h. hier ein kurzes HowTo wie ihr xDebug in ZendServer integrieren könnt:

Ladet die Datei php_xdebug-2.1.1-5.2-vc6-nts.dll (ggf. höhere Version, nts-version ist für die non-thread-saved apache – version … phpinfo erkennt ihr welche Version ihr benötigt, alternativ testen 😉 von http://xdebug.org/files/ und packt sie in das entsprechende Verzeichnis, z.b. C:\Program Files\Zend\ZendServer\lib\phpext

Wenn ihr XDebug einsetzt, müsst ihr vorher den Zend Debugger deaktiviert, das geht über die Zend-Server Adminoberfläche wie folgt::

  1. Login auf der Benutzeroberfläche: http://localhost/ZendServer
  2. zum Reiter Server Setup wechseln
  3. Den Zend Debugger durch Klick auf den Button Turn off deaktivieren
  4. PHP neu starten (Button rechts unten)

Jetzt noch in der php.ini xdebug einbinden (liegt unter C:\Programme\Zend\ZendServer\etc):

zend_extension=“C:\Program Files\Zend\ZendServer\lib\phpext\php_xdebug-2.1.1-5.2-vc6-nts.dll“
zend_extension=“C:\Program Files\Zend\ZendServer\lib\ZendExtensionManager.dll“

Achtung: ZendExtensionManager.dll darf nur nach der php_xdebug.dll eingebunden werden!

Jetzt noch Server neu starten und xdebug sollte verfügbar sein. Prüft dazu die phpinfo ob xdebug dort auftaucht!

ZendServer CE: Pear konfigurieren & phpUnit installieren – Debug

19. Juli 2011 at 09:10

Nach der Installation von Zend Server CE ist PEAR erst mal nicht einsatzbereit.
Konfigurieren lässt sich PEAR ganz einfach über den Aufruf der Datei …\ZendServer\bin\go-pear.bat (mit Admin-Rechten ausführen).

Startet die PEAR_ENV.reg (liegt ebenfalls unter …\ZendServer\bin\)!

Danach könnt ihr PHPUnit direkt über PEAR nach installieren, einfach im selben Ordner mit den Kommandos:
pear upgrade pear
pear channel-discover components.ez.no
pear channel-discover pear.phpunit.de
pear channel-discover pear.symfony-project.com

pear install –alldeps phpunit/PHPUnit

Taucht eine Fehlermeldung ähnlich:

Failed to download pear/HTTP_Request2 within preferred state „stable“, latest re
lease is version 2.0.0RC1, stability „beta“, use „channel://pear.php.net/HTTP_Request2-2.0.0RC1“ to install
install failed

so wechselt den Status mit pear config-set preferred_state beta und start die installation erneut!

Taucht ein Fehler ähnlich dem folgenden auf:

C:\Program Files\Zend\ZendServer\bin>pear install pear/XML_RPC2
SECURITY ERROR: Will not write to C:\Users\User\AppData\Local\Temp\pear\cache\
b521f99a31e9c4ca2b11faa4b5f31ef5rest.cacheid as it is symlinked to C:\Users\dani
el\AppData\Local\Temp\pear\cache\b521f99a31e9c4ca2b11faa4b5f31ef5rest.cacheid –
Possible symlink attack
install failed

Löscht einfach den Cache-Ordner! 😉

How to ignore files in a directory under subversion control

26. Mai 2011 at 16:45
# ---------------------------------------------------------------------
#      Ignore all the .txt files in the /trunk/Blah/ directory
# ---------------------------------------------------------------------
# Go to the directory
cd trunk/Blah/              # The directory with the files
# Start editing the properties for the current directory
svn propedit svn:ignore .   # Opens an editor (SVN_EDITOR, EDITOR)
# Add the following value with a new line, save, and exit:
*.txt
# See that things worked
svn propget svn:ignore .    # So you can see the properties
svn status --no-ignore      # You should see an 'I' next to the ignored files
# Commit
svn commit -m "New Ignores" # You must commit the new property change

Overview: svn status codes / svn stat

18. April 2011 at 18:09

Overview about svn status codes (after typing of svn stat):

Name

svn status — Print the status of working copy files and directories.

Synopsis

svn status [PATH...]

Description

Print the status of working copy files and directories. With no arguments, it prints only locally modified items (no repository access). With --show-updates, add working revision and server out-of-date information. With --verbose, print full revision information on every item.

The first five columns in the output are each one character wide, and each column gives you information about different aspects of each working copy item.

The first column indicates that an item was added, deleted, or otherwise changed.

‚ ‚
No modifications.

‚A‘
Item is scheduled for Addition.

‚D‘
Item is scheduled for Deletion.

‚M‘
Item has been modified.

‚C‘
Item is in conflict with updates received from the repository.

‚X‘
Item is related to an externals definition.

‚I‘
Item is being ignored (e.g. with the svn:ignore property).

‚?‘
Item is not under version control.

‚!‘
Item is missing (e.g. you moved or deleted it without using svn). This also indicates that a directory is incomplete (a checkout or update was interrupted).

‚~‘
Item is versioned as a directory, but has been replaced by a file, or vice versa.

The second column tells the status of a file’s or directory’s properties.

‚ ‚
No modifications.

‚M‘
Properties for this item have been modified.

‚C‘
Properties for this item are in conflict with property updates received from the repository.

The third column is populated only if the working copy directory is locked.

‚ ‚
Item is not locked.

‚L‘
Item is locked.

The fourth column is populated only if the item is scheduled for addition-with-history.

‚ ‚
No history scheduled with commit.

‚+‘
History scheduled with commit.

The fifth column is populated only if the item is switched relative to its parent (see the section called “Switching a Working Copy”).

‚ ‚
Item is a child of its parent directory.

‚S‘
Item is switched.

The out-of-date information appears in the eighth column (only if you pass the --show-updates switch).

‚ ‚
The item in your working copy is up-to-date.

‚*‘
A newer revision of the item exists on the server.

The remaining fields are variable width and delimited by spaces. The working revision is the next field if the --show-updates or --verbose switches are passed.

If the --verbose switch is passed, the last committed revision and last committed author are displayed next.

The working copy path is always the final field, so it can include spaces.

Alternate Names

stat, st