diff --git a/src/bindings/php/SConscript b/src/bindings/php/SConscript
index f45b43816949e8c13d6fe6b6c15ba1d57423cf96..b2194d693d0f5d3eb0a650701aff1a3bebb4af1c 100644
--- a/src/bindings/php/SConscript
+++ b/src/bindings/php/SConscript
@@ -1,5 +1,6 @@
 # -*- python -*-
-Import('env')
+import os.path
+Import('env libhammer_shared')
 
 phpenv = env.Clone(IMPLICIT_COMMAND_DEPENDENCIES = 0)
 
@@ -14,3 +15,9 @@ phpenv.Command("hammer.i", "../swig/hammer.i", Copy("$TARGET", "$SOURCE"))
 swig = ['hammer.i']
 
 libhammer_php = phpenv.SharedLibrary('hammer', swig)
+
+phptestenv = phpenv.Clone()
+phptestenv['ENV']['LD_LIBRARY_PATH'] = os.path.dirname(str(libhammer_shared[0]))
+phptestenv.Command(None, ['TestHammer.php', libhammer_php], "phpunit $SOURCE")
+
+Clean('.', ['hammer.php', 'TestHammer.php'])
diff --git a/src/bindings/php/TestHammer.php b/src/bindings/php/TestHammer.php
new file mode 100644
index 0000000000000000000000000000000000000000..34fdde937d048663cf9884222052169a74e9e26e
--- /dev/null
+++ b/src/bindings/php/TestHammer.php
@@ -0,0 +1,24 @@
+<?php
+
+require("hammer.php");
+
+class TestHammer extends PHPUnit_Framework_TestCase 
+{
+    protected $parser;
+
+    protected function setUp() 
+    {
+        $this->parser = hammer::h_token("95\xa2", 3);
+    }
+    public function testSuccess() 
+    {
+        $result = hammer::h_parse($this->parser, "95\xa2", 3);
+        $this->assertEquals($result->ast->token_data->bytes, "95\xa2");
+    }     
+    public function testFailure()
+    {
+        $result = hammer::h_parse($this->parser, "95", 2);
+        $this->assertEquals($result, NULL);
+    }
+}
+?>
\ No newline at end of file