Visual Studio + PHP

Da ich in letzer Zeit ein bisschen PHP Entwicklung betrieben habe, aber das Visual Studio nicht verlassen wollte, suchte ich nach einem Add-In für dasselbe. Und wie das so ist wenn man etwas sucht findet man auch meist etwas :) Fündig geworden bin ich dann auf der Seite http://vsphp.de/. Dort gibt es die gleichnamige IDE VS.Php welche als Standalone oder als Add-In für Visual Studio bezogen werden kann. Die für mich wichtigen Features sind dabei:

– der Debugger
– Projekte auf entfernten Servern

Vom Preis her ist das ganze auch recht angenehm. Also warum nicht :)

UDP Portscanning unter PHP

Vor einigen Tagen wollte ich ein PHP Skript schreiben welches nachschaut ob auf einer bestimmten IP Adresse auf einem bestimmten Port ein Dienst läuft. Dazu wollte ich folgendes Skript benutzen:

function check_server($ip, $port) {
  $fp = fsockopen ($ip, $port, $errno, $errstr, 10);
  $result = "";

  if($fp == false)
  {
   $result = "offline";
  }
  else
  {
   $result = "online";
  }

  fclose($fp);

  return $result;
}

$gameserver= check_server("udp://192.168.0.13", 9604);
$accountserver= check_server("udp://192.168.0.13", 9601);

echo "Gameserver: ",$gameserver,"
"; echo "Accountserver: ",$accountserver,"
";

Das Problem an der Sache ist das bei UDP immer true zurückkommt da das ganze ja ein verbindungsloses Protokoll ist. Bei TCP funktioniert diese Herangehensweise prima, bei UDP kann man es vergessen… Ganz interessant zu diesem Thema ist die Seite http://www.sitepoint.com/article/udp-portscanning-php/. Mal schauen ob sich das Problem lösen läßt.

PHP Eastereggs

In PHP gibt es einige Eastereggs. Diese Eastereggs erreicht man indem man einen der folgenden Parameter als Parameter an eine PHP Datei anhängt:

?=PHPE9568F34-D428-11d2-A769-00AA001ACF42 – PHP Logo
?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000 – Credits
?=PHPE9568F35-D428-11d2-A769-00AA001ACF42 – Zend Logo
?=PHPE9568F36-D428-11d2-A769-00AA001ACF42 – PHP Logo

Bei letzerem gab es früher Bilder von Hunden, naja andere Länder andere Sitten :)

Weitere Informationen gibts es unter:
http://shiflett.org/blog/2006/feb/php-easter-eggs
http://meisterluk.me.funpic.de/blog/2007/04/how-to-get-the-php-version-number-easteregg/

PHP IDE

Da ich zur Zeit an einem kleinen PHP Script arbeite, war ich dann nach einer Weile auf der Suche nach einer Entwicklungsumgebung für PHP. Da gibt es erst einmal den Standard das Zend Studio. Da ich aber kein Geld ausgeben wollte, da ich nur sehr wenig für PHP entwickele musste etwas anderes her.

Nach einigem Suchen bin ich dann auf das Maguma Open Studio gestoßen welches unter http://sourceforge.net/projects/openstudio bezogen werden kann. Es ist zwar schon etwas altgebacken aber es erfüllt seinen Zweck. Um aus der IDE zu testen muss man sich noch den PHP Interpreter unter http://www.php.net/ herunterladen und installieren und schon kann es losgehen.

Undefined index

Gestern habe ich versucht ein kleines PHP-Skript zum laufen zu bekommen. Diesem Skript sollte eine Variable per POST übergeben werden. Im Quelltext sieht das ganze dann so aus:

$name= $_POST['name'];

Als ich versucht habe das ganze auszuprobieren erschien folgende Fehlermeldung:

Undefined index: name in C:\Development\testing\phppost.php on line 3

Das scheint den neuen PHP Versionen geschuldet zu sein. Nachdem ich das ganze mal umgeschrieben habe sah es so aus:

if (isset($_POST['name'])) $name= $_POST['name'];

Und schon funktioniert das ganze :)