Cara, tenho um relato semelhante e relativamente recente, de cerca de 1 ano e meio atrás. O site da empresa onde atuo foi desenvolvido por uma empresa terceirizada alguns anos antes de eu entrar. Curiosamente, também foi feito em PHP, utilizando o October CMS (para mim, uma das piores ferramentas de PHP com as quais já tive contato, é como uma mistura de Laravel com WordPress, mas com uma comunidade e documentação extremamente fracas).
Tivemos que fazer uma migração, pois íamos atualizar a versão do PHP, do banco de dados e do servidor. Como já não tínhamos mais contrato com a empresa terceirizada, a manutenção ficou por nossa conta. Na época, o October já estava na versão 3, mas nosso site ainda rodava na versão 1 (nunca pensei que duas versões de diferença pudessem me causar tanta dor de cabeça).
Alguns problemas encontrados
- Documentação extremamente fraca;
- Comunidade muito pequena e pouco ativa; mesmo em fóruns, as soluções geralmente eram para Laravel e nem sempre se encaixavam na situação;
- Arquivos inexistentes, parecia que alguns nunca tinham sido criados; eles não atualizavam versões, apenas “remendavam” o site;
- Plugins descontinuados e sem documentação.
Na época, éramos eu, meu coordenador e um estagiário. Meu coordenador não sabia mexer no site, e o estagiário (meu amigo do curso técnico) ajudava bastante na parte de servidores, mas em desenvolvimento a responsabilidade era toda minha. Por conta de outras demandas, acredito que eu levei uns 3 a 4 meses nesse processo. No início eu não fazia ideia de como prosseguir: estava completamente perdido, lidando com páginas que simplesmente não funcionavam e sem indicar onde estava o erro.
Não lembro de todos os detalhes técnicos, mas basicamente saí do zero para resolver o problema. Tive que recriar arquivos, ajustar o composer, usar Docker com diferentes versões do PHP para ir atualizando o site, tudo isso mantendo um backup da versão antiga que “ainda funcionava”. A cada atualização surgia um erro novo, em um lugar diferente.
No final, o site ficou no ar e funcionando “por aparelhos”. Não vou mentir: no fim eu nem sei exatamente como ele está rodando, alterei tanta coisa que parece um milagre estar funcionando. Mas está. A manutenção continua sendo péssima, e eu acredito fortemente que refazer o projeto seria a melhor opção, seja em Laravel ou WordPress, já que, para mim, o October é muito fraco.
A conclusão que tirei é: mesmo que você não saiba como resolver um problema, em algum momento vai encontrar a solução, só precisa ter paciência e boas xicaras de café.