Ejecute un script de bash, que inicia una pantalla de un usuario específico en PHP -- php campo con linux camp Relacionados El problema

Run a bash script, which starts a screen from a specific user in php


0
vote

problema

Español

He cavado a través de todo lo que puedo encontrar en el tema de comenzar una pantalla de PHP. Estoy empezando un servidor de juegos, por lo que debo ejecutarlo de un usuario específico para que el ejecutable del servidor se vea en la carpeta correcta para sus otros archivos. He cambiado al usuario de Apache desde su predeterminado al usuario, debo ejecutar el servidor. Cuando tengo exec('cd /User/FolderWithScript && bash script.sh); para emular lo que haría para iniciarlo, no informa ningún error en /var/log/apache2/error.log, pero tampoco inicia el servidor o su pantalla.

Lo mismo sucede si tuviera que usar exec('cd /User/FolderWithExecutable && screen -dmS ServerExcutable +Args'); que es esencialmente lo que hace el script.

Si uso exec(cd /User/FolderWithScript && bash ServerExcutable +Args); Escupe todas las cosas habituales para el servidor en /var/log/apache2/error.log, pero, lamentablemente, también parece estar buscando en el directorio equivocado para la mayoría de los archivos de juego, que se encuentran en /user/.Game.

¡Gracias!

Original en ingles

I have dug through everything I can find on the topic of starting a screen from PHP. I'm starting a game server, so I must run it from a specific user so that the server executable looks in the right folder for its other files. I have changed Apache's user from its default to the user I must run the server from. When I have exec('cd /User/FolderWithScript && bash script.sh); to emulate what I would do to start it, it doesn't report any errors in /var/log/apache2/error.log, but also doesn't start the server or its screen.

The same thing happens if I were to use exec('cd /User/FolderWithExecutable && screen -dmS ServerExcutable +Args'); which is essentially what the script does.

If I use exec(cd /User/FolderWithScript && bash ServerExcutable +Args); it spits out all of the usual stuff for the server in /var/log/apache2/error.log, but unfortunately also appears to be looking in the wrong directory for most of the game files, which are located in /User/.game.

Thanks!

     
         
         

Lista de respuestas

0
 
vote

Tuve que agregar en mi archivo sudoers apply0 y luego en la ejecución de PHP apply111111 Básicamente, no se ejecutará correctamente a menos que haya corrido el script de la carpeta el ejecutable estaba en, y no correría a menos que usara todo el camino hacia el script como se ingresó en mi archivo de sudoers.

 

I had to add in my sudoers file www-data ALL=(ALL) NOPASSWD: /Path/To/Script and then in PHP run exec('cd /Path/To/Script(AndExecutable) && sudo -u User /Path/To/Script); Basically, It wouldn't run correctly unless I ran the script from the folder the executable was in, and it wouldn't run unless I used the entire path to the script as entered in my sudoers file.

 
 

Relacionados problema

4  ¿Cómo obtengo el nombre "amable" del puerto serie en Mono y lo mantiene en la plataforma cruzada?  ( How do i get the friendly name of serial port in mono and keep it cross platfo ) 
Le hice esta pregunta: Puerto serie (RS232) en Mono para múltiples plataformas y este está relacionado: ¿Cómo consigo el amistoso? Nombre de un puerto ...

249  Obtención de permisos de root en un archivo dentro de VI? [cerrado]  ( Getting root permissions on a file inside of vi ) 
cerrado. Esta pregunta no cumple con pautas de desbordamiento de pila . Actualmente no está aceptando respuestas. ...

40  Edición / Software de visualización XML [CERRADO]  ( Xml editing viewing software ) 
Según lo que actualmente representa, esta pregunta no es un buen ajuste para nuestro Q & Amp; un formato. Esperamos que las...

2  Anulación del entorno para el enlazador / cargador de Linux  ( Environment overrides for linux linker loader ) 
Hoy en día, hice una Pregunta sobre entorno , y uno de Cuanto más Respuestas interesantes sugirió que podría recopilar información usando LD_DEBUG. Aho...

2  Freeware HTML creando herramientas para Linux [cerrado]  ( Freeware html creating tools for linux ) 
cerrado. Esta pregunta no cumple con pautas de desbordamiento de pila . Actualmente no está aceptando respuestas. ...

36  Implementación GTK de MessageBox  ( Gtk implementation of messagebox ) 
He estado tratando de implementar el DataSet1111 usando GTK. La aplicación utiliza SDL / OpenGL, por lo que esto no es una aplicación GTK. MANEJO LA INICI...

18  Mejor camino a Sandbox Apache en Linux  ( Best way to sandbox apache on linux ) 
Tengo apache corriendo en un servidor de Debian, y estoy un poco preocupado por la seguridad de la instalación. Esta es una máquina que alberga varios proyect...

8  hilos se unen a los procesadores  ( Bind threads to processors ) 
Cuando ejecuto mi código de subprocesos múltiples, el sistema (Linux) a veces mueve los hilos de un procesador a otro. Como tengo tantos hilos, ya que tengo p...

115  ERROR_LOG por host virtual?  ( Error log per virtual host ) 
En un servidor de Linux ejecutando Apache y PHP 5, tenemos varios hosts virtuales con archivos de registro separados. Parece que no podemos separar el PHP er...

100  ¿GetTiempo () está garantizado para ser de resolución de microsegundidad?  ( Is gettimeofday guaranteed to be of microsecond resolution ) 
Estoy portando de un juego, que originalmente se escribió para la API de Win32, a Linux (Bueno, portar el puerto OS X del puerto WIN32 a Linux). He implemen...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos