Use imagecopyresampled to crop your image instead, and it should work correctly in PHP 5.5+ without any black lines.
<?php
// Desired function call.
$cropped = imagecrop( $image, array( 'x' => $x, 'y' => $y, 'width' => $width, 'height' => $height ) );
// Equivalent function which works in both PHP pre 5.6.12 and 5.6.12+.
$cropped = imagecreatetruecolor( $width, $height );
imagecopyresampled( $cropped, $image, 0, 0, $x, $y, $width, $height, $width, $height );
?>