Как средствами PHP нарисовать дугу для SVG файла?
Проще всего нарисовать дугу через элемент path. 

$image = new SVG('100mm','100mm');
$doc = $image->getDocument();
$square = new SVGLine('0mm', '0mm', '55mm', '55mm'); // x0 y0 x1 y1
$square->setStyle('stroke', '#FF0000'); //цвет
$doc->addChild($square);

$arc = new SVGPath('m 40,40 A 30,30,0,0,1,150,150');
$arc->setStyle('stroke', '#FF0000');
$doc->addChild($arc);

header('Content-Type: image/svg+xml');
echo $image;

Нужно немного изучить формат path. Он не сложный. 

m 40,40 A 30,30,0,0,1,150,150

m - это команда move. Устанавливает "кисть" в указанную позицию. Далее команда A - arc (дуга). Её формат несколько сложнее:

30,30 - радиус дуги по осям x и y
0 - угол поворота дуги вокруг оси x
0 - должна ли дуга быть больше 180 градусов или нет
1 - в какую сторону рисовать дугу - по часовой или против
150,150 - координаты конца дуги
SVG - весьма простой текстовый формат. Библиотеки для него в случае, когда надо нарисовать что-то нетривиальное, только мешают. Почитайте документацию по формату - и там найдете все, что вам нужно.
Разве что иногда придется приложить немного математики.