Depende de cómo esté instalado PHP en su servidor; si está instalado como un módulo de Apache, entonces usará los archivos .htaccess para emitir directivas PHP, ya que Apache lee y ejecuta .htacess.
Si ejecuta PHP como CGI, entonces usará un archivo php.ini, ya que cualquier cosa en .htaccess no afectará su PHP.
Puede comprobar cómo se instala PHP haciendo un archivo php con phpinfo(); en.
Esto solo se refiere a las anulaciones locales para un directorio específico; Independientemente de cómo esté instalado PHP, lee su archivo php.ini principal.
Si está trabajando en un solo host, las diferencias son menores.Los archivos existen en dos ubicaciones diferentes para los sistemas que alojan muchos sitios (por ejemplo, un host web compartido), por lo que las opciones de configuración se pueden configurar sitio por sitio sin dar permiso a los usuarios para un archivo que a) afectará a otros usuarios b) tienen permisos peligrosamente generosos. – antik