Если php работает не под рутом - ни как.
Вариант - делаем слушатель и запускаем его от рута, а ему уже даем команды на ребут.
Самый постой костыль - пишем sh с циклом и сном в раз 5 сек, который проверяет файл /tmp/apache_reboot на 1.
Если в файле 0 - засыпаем на 5 сек, если 1 - делаем ребут и меняем 1 на 0.