Notas de instalación y configuración básica de PHP corriendo detrás de Apache, más la solución a un error muy común al servir sitios PHP: No matching DirectoryIndex.
Instalar PHP
Comandos útiles
# reiniciar Apache
sudo apachectl restart
systemctl restart httpd
# ver la versión de PHP instalada
php -v
brew info php@8.1
# buscar en qué archivo de configuración de Apache se carga el módulo de PHP
find -L /etc/apache2 -type f -print0 | xargs -0 grep -i "^loadmodule.*php"
El archivo php.ini de tu versión (por ejemplo .../php/$PHP_VERSION/php.ini) define cuánta memoria puede usar un proceso PHP en la directiva memory_limit. Si quieres quitarle el límite, cambia el valor a -1.
Error en Apache: "No matching DirectoryIndex"
Este error aparece cuando visitas una carpeta sin especificar un archivo (por ejemplo http://tusitio.com/) y Apache no encuentra ningún archivo de índice que sepa servir — típicamente porque el sitio usa index.php pero Apache solo está configurado para buscar index.html. El mensaje completo es:
No matching DirectoryIndex (index.html) found, and server-generated directory index forbidden by Options directive
Solución:
Edita el archivo de configuración de Apache:
vim /etc/httpd/conf/httpd.conf
# o, según tu distribución/instalación:
vim /etc/apache2/httpd.conf
Busca el bloque:
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
Y agrega index.php a la directiva para que Apache también reconozca archivos PHP como índice de directorio:
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
Reinicia Apache después del cambio para que tome efecto.