Buenas tardes a todos!
Ayer me tocó hacer unos pequeños cambios para solucionar unos problemas de tiempo de ejecución en una de las webs de mis clientes.
La variable concreta a modificar era la default_socket_timeout . Había distintas formas de modificarla, por una parte si tenemos la extensión mod_php activa en nuestro servidor, podíamos incluir las siguientes líneas en nuestro fichero .htaccess, modificando únicamente dicha variable:
php_value default_socket_timeout 1
Esta sería una opción totalmente válida si tenemos dicho módulo de apache activado. Otra posibilidad sería dentro de nuestro código PHP de la siguiente forma:
ini_set('default_socket_timeout', 1); //1 segundo
Son opciones muy buenas cuando se trata de cambiar una sola variable de nuestro fichero php.ini para un caso particular.
Pero existe otra forma, gracias a la cual, dentro de un mismo servidor que puede tener alojadas varias páginas web, cada web puede tener su propio fichero de configuración php.ini funcionando con distintos parámetros. Para ello, creamos una copia de nuestro php.ini original en la carpeta que nosotros queramos (por ejemplo /usr/local/lib64/php5/confighosting1/php.ini ) y desde el fichero .htaccess de nuestro dominio particular, agregamos la siguiente línea:
SetEnv PHPRC /usr/local/lib64/php5/confighosting1/php.ini
De esta manera, indicamos a nuestro servidor virtual que el fichero de configuración que debe leer, no es el que hemos configurado por defecto en nuestro servidor de apache, sino una versión personalizada.
Para comprobar esto, podemos crear un fichero info.php y ejecutarlo en nuestro dominio, buscando posteriormente el directorio donde se encuentra la configuración php.ini.
El fichero info.php tendrá el siguiente contenido:
<?php echo phpinfo(); ?>
Y para acceder a él, si lo insertamos en la carpeta raíz de nuestro hosting, en el navegador escribiríamos http://www.nuestrodominio.com/info.php . Dentro de este enlace, buscaríamos con el navegador php.ini y podríamos ver qué fichero de configuración está ejecutando realmente.
Espero que os sirva! 🙂
Un saludo y feliz domingo para todos!
oscar
Oct 5, 2016 -
Gracias, estube buscando por todo lado y no encontraba… tu solución con base de ejemplos me sirvió:
“SetEnv PHPRC /usr/local/lib64/php5/confighosting1/php.ini”.
Jorgeleitor
Feb 22, 2022 -
Gracias por compartir…Muy útil para servidores locales donde hay varias aplicaciones web que requieren diferentes versiones del interprete.
Te felicito por el excelente blog y cada uno de los post…a cual mas interesante y todo de los que hablas me interesa…Aunque mi profesión es pintor de brocha gorda, no se por que, me gusta escribir código en mi ratos libres y trastear servidores ajenos de forma sana y natural…por lo menos mas sano, que estar día tras día, fumando y bebiendo, sin parar de reír… Mi próximo proyecto, poner en orbita, un nano-satélite con raspian, y el siguiente un rastreador submarino de la zona abismal…