loadmodule configurar php apache

configurar - php apache docker



Establecer variables de PHP en httpd.conf? (6)

¿Intentó utilizar el archivo .htaccess? Puede anular los valores php.ini usándolo.

Simplemente coloque el archivo .htaccess en su directorio htdocs:

php_value name value

Más información:

Me gustaría cambiar automáticamente la configuración de conexión de mi base de datos por host virtual, de modo que no tenga que editar ningún código PHP a medida que pasa de la etapa a la versión en vivo y aún accede a diferentes bases de datos. Esto es en un solo servidor dedicado.

Entonces, me preguntaba si puedo establecer una variable o constante de PHP en httpd.conf como parte de la definición de vhost que el sitio puede usar para apuntarse automáticamente a una base de datos de prueba.

$database = ''live''; if (some staging environment variable is true) { $database = ''testing''; // and not live }

Si esto no es posible, supongo que en este caso puedo examinar con seguridad el nombre de host en el que me estoy ejecutando para contarlo, pero me gustaría algo un poco menos frágil.

Espero que esto tenga sentido

muchas gracias

Ian


No establecería una variable de entorno, ya que esto también es visible en las salidas de script predeterminadas como PhpInfo ();

solo use php_value en su .htaccess justo encima de la carpeta htdocs y listo y seguro :)


Sí ... puedes hacer esto:

SetEnv DATABASE_NAME testing

y luego en PHP:

$database = $_SERVER["DATABASE_NAME"];

o

$database = getenv("DATABASE_NAME");


El problema con .htaccess es que forma parte del árbol de código base. Y el árbol de código base es parte de VC / SVN. Por lo tanto, cualquier cambio en local / dev se traslada a la producción. Mantener la configuración de la variable env en httpd.conf le ahorra el esfuerzo de tener cuidado de no sobrescribir accidentalmente el servidor frente a la bandera dev. A menos, por supuesto, que desee hacer con la dirección IP o el nombre de host, los cuales no son enfoques escalables.


Puede establecer una variable de entorno y recuperarla con PHP.

En httpd.conf:

SetEnv database testing

En tu PHP:

if (getenv(''database'') == ''testing'') {

o

if ($_SERVER[''database''] == ''testing'') {


También estaba viendo este tipo de solución. Lo que encontré es esto, en Apache puede usar SetEnv KeyName DataValue en http.conf y en IIS puede usar Fast CGI Settings >> Edit ... >> Environment Variables >> ... y agregar KeyName, DataValue .

Esto a su vez permite PHP $var = $_SERVER["KeyName"]; para establecerse en DataValue y utilizarse según sea necesario tanto en IIS como en Apache de forma coherente.

Sé que este es un caso de uso extraño. Uso WAMP en el trabajo y MAMP en casa, así que es bueno poder trabajar de la misma manera.