diff --git a/src/bindings/swig/hammer.i b/src/bindings/swig/hammer.i
index 6c0d900e3f839a20362bdb579646fef1d7226073..767e85f0e32d2422d93c9b8dda227580e70ad696 100644
--- a/src/bindings/swig/hammer.i
+++ b/src/bindings/swig/hammer.i
@@ -136,13 +136,14 @@
 
 #if defined(SWIGPHP)
 %ignore HCountedArray_;
-%typemap(in) (uint8_t* input, size_t len) {
-  $1 = (uint8_t*)$input->value.str.val;
-  $2 = $input->value.str.len;
+%typemap(in) (const uint8_t* str, const size_t len) {
+  $1 = (uint8_t*)(*$input)->value.str.val;
+  $2 = (*$input)->value.str.len;
  }
 %typemap(out) (uint8_t* input, size_t len) {
   RETVAL_STRINGL((char*)$1, $2, 1);
  }
+//%apply (uint8_t* input, size_t len) { (uint8_t* str, size_t len) }
 %typemap(in) void*[] {
 
  }