Ваш паттерн немного отклонен, и вы должны ожидать семь цифр после начального di git, который не равен нулю:
if (!preg_match("/^[1-9][0-9]{7}$/", $PhNum)) {
$error .= '<p><label class="text-danger">Only 8 digit numbers are allowed</label></p>';
}
Концептуально:
[1-9][0-9]{7} <-- seven digits, for a total of 8 digits
^^^ one digit