I wrote a script that proves the answer that the amount is not limited:
<?php
$inters_string = '';
$interfaces_to_generate = 9999;
for($i=0; $i <= $interfaces_to_generate; $i++) {
$cur_inter = 'inter'.$i;
$inters[] = $cur_inter;
$inters_string .= sprintf('interface %s {} ', $cur_inter);
}
eval($inters_string); // creates all the interfaces due the eval (executing a string as code)
eval(sprintf('class Bar implements %s {}', implode(',',$inters))); // generates the class that implements all that interfaces which were created before
$quxx = new Bar();
print_r(class_implements($quxx));
You can modify the counter var in the for loop to make that script generate even more interfaces to be implemented by the class "Bar".
It easily works with up to 9999 interfaces (and obviously more) as you can see from the output of the last code line (print_r) when executing that script.
The computer's memory seems to be the only limitation for the amount of interfaces for you get an memory exhausted error when the number is too high