Это потому, что версия Unix кодирует также конец строки.
Чтобы получить подобный эффект в PHP, вам нужно сделать что-то вроде этого:
echo base64_encode('test'.PHP_EOL);
, который выдаст:
dGVzdAo=
См. Доказательство здесь: ideone.com / HorVD
РЕДАКТИРОВАТЬ: Как упоминал Чарльз, PHP_EOL
зависит от платформы, поэтому для проверки вышеуказанного в Windows вам придется заменить его символом конца строки в стиле Unix:
echo base64_encode("test\n");