We can expand range from singular point at phi=2.532687 to another singular point at phi=6.207986.
singularpoint = Rationalize[2.532687, 0];
numericaldiffeqqa =
NDSolve[{q''[\[Phi]] + q[\[Phi]] == -(1/(1 + q[\[Phi]])^2),
q[0] == 1, q'[0] == 1,
WhenEvent[\[Phi] == singularpoint,
q'[\[Phi]] -> Abs[q'[\[Phi]]]]}, q, {\[Phi], 0, 7},
WorkingPrecision -> 20];
Plot[Evaluate[q[\[Phi]] /. numericaldiffeqqa], {\[Phi], 0, 7}]
eq = q''[\[Phi]] + q[\[Phi]] + (1/(1 + q[\[Phi]])^2);(*eq = 0*)
Plot[Evaluate[eq /. numericaldiffeqqa], {\[Phi], 0, 7}](*Almost zero. Solution are correct*)