elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  inicar servicio Mysql y Apache
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: inicar servicio Mysql y Apache  (Leído 2,243 veces)
yoelrodguez

Desconectado Desconectado

Mensajes: 167


Es mejor, una amarga verdad que una dulce mentira


Ver Perfil WWW
inicar servicio Mysql y Apache
« en: 20 Agosto 2014, 15:12 pm »

Hola a todos, estoy haciendo un programa de php para iniciar los servicios de Mysql y Apache de mi servidor. Lo que me está sucediendo es lo siguiente,  cuando se inició el servicio de mysql se me detienes la ejecución del script. Lo me mismo me sucede si inicio primero el  apache. A continuación le dejo el código:

Código:
<?php
echo "Iniciamos servicios";

chdir("/xampp/mysql/bin/");
if(system('mysqld')){
echo "Servicio Mysql Iniciado";
}
echo "Iniciamos servicio de Apache 2.2";
chdir("/xampp/apache/bin");
if(system('httpd.exe')){
echo "Servicio Apache Iniciado";
}
?>


En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: inicar servicio Mysql y Apache
« Respuesta #1 en: 20 Agosto 2014, 17:35 pm »

Para que corra php tiene que apache estar corriendo, no entiendo como ejecutas el php  sin  apache...


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
yoelrodguez

Desconectado Desconectado

Mensajes: 167


Es mejor, una amarga verdad que una dulce mentira


Ver Perfil WWW
Re: inicar servicio Mysql y Apache
« Respuesta #2 en: 20 Agosto 2014, 19:03 pm »

El php lo estoy ejecutando desde la línea de comando. El c:>xampp\php\php.exe prueba.php
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: inicar servicio Mysql y Apache
« Respuesta #3 en: 20 Agosto 2014, 19:31 pm »

Ahh ya, lo mas probable es que el  apache  reinicie  el  modulo  php para asegurar su funcionamiento, tal vez el mysql haga algo similar
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
yoelrodguez

Desconectado Desconectado

Mensajes: 167


Es mejor, una amarga verdad que una dulce mentira


Ver Perfil WWW
Re: inicar servicio Mysql y Apache
« Respuesta #4 en: 20 Agosto 2014, 19:49 pm »

Después de lo que me comentaste, hice la prueba con un .bat y me sucede lo mismo. Si uno inicia no me inicia el otro y viceversa. No sé si es que tenga que colocar algo en la configuración del apache o del mysql.

Código:
@echo off
echo Iniciar.
apache\bin\httpd.exe
mysql\bin\mysql.exe
goto finish
En línea

#!drvy
Moderador
***
Desconectado Desconectado

Mensajes: 5.850



Ver Perfil WWW
Re: inicar servicio Mysql y Apache
« Respuesta #5 en: 20 Agosto 2014, 20:19 pm »

El problema que tienes, es que ambas applicaciones tiran output cuando las llamas. Por tanto, php se queda esperando que termine el output de la primera para ejecutar la segunda.

Esto se puede solucionar añadiendo " & " al final de cada system().
Código
  1. system('mysqld &');

El problema, es que de igual modo, php y system() se quedaran a la espera de que finalicen estos programas para cerrarse.

La solucion es usar otro programa para iniciar los servicios. En el caso de windows, tienes el comando "start" con el parametro /b. Si los usas y ocultas la salida, te sale bien.

Código
  1. <?php
  2. $services = array();
  3. $services['mysql']='xampp/mysql/bin/mysqld';
  4. $services['httpd']='xampp/apache/bin/httpd.exe';
  5.  
  6. foreach($services as $n=>$service){
  7. system('start /b '.dirname(__FILE__).$service.' &',$r);
  8. echo 'Servicio ',$n,' iniciado.',PHP_EOL;
  9. }
  10.  
  11. ?>

start /b -> Inicia el proceso en la misma ventana.
parametro $r -> es para ocultar la salida, aunque en caso de stderr, lo seguira mostrando.
dirname(__FILE__) -> El directorio donde esta el .php actual.

De todos modos PHP no fue hecho para estas cosas xD. Mirate tambien otras funciones como proc_open.

Saludos
« Última modificación: 20 Agosto 2014, 20:24 pm por #!drvy » En línea

yoelrodguez

Desconectado Desconectado

Mensajes: 167


Es mejor, una amarga verdad que una dulce mentira


Ver Perfil WWW
Re: inicar servicio Mysql y Apache
« Respuesta #6 en: 20 Agosto 2014, 20:23 pm »

Gracias todo trabajo Ok.
« Última modificación: 20 Agosto 2014, 21:10 pm por yoelrodguez » En línea

WHK
Moderador Global
***
Desconectado Desconectado

Mensajes: 6.589


Sin conocimiento no hay espíritu


Ver Perfil WWW
Re: inicar servicio Mysql y Apache
« Respuesta #7 en: 22 Agosto 2014, 18:07 pm »

Se supone que para eso existen los servicios, debes usar el script del xampp que sirve para instalar apache e mysql como servicios, luego solo los inicias con service start apache2 && service start mysql, el tema es que ese script necesitaría permisos de root, mucho cuidado de los permisos que le des a ese script porque podrías comprometer la integridad de tu servidor, si apache corre como un usuario no www-data y como root puedes provocar que un atacante ejecute script de php desde tu pagina web como root, para eso son los servicios, ellos se encargan de iniciar los binarios con sus respectivos permisos y entornos ya que tampoco declaraste el entorno de apache ni de php.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
una-al-dia (25/08/2011)Denegación de servicio en Apache a través de Range header
Noticias
Slava_TZD 0 1,943 Último mensaje 25 Agosto 2011, 16:19 pm
por Slava_TZD
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines