Cursos Servidores con Centos 6
Sistema Operativo ALDOS
Dezoft

Si algunos de nuestros foros, manuales, ALDOS, paquetería o proyectos te han resultado de ayuda, apreciaremos mucho nos apoyes con un donativo.

 Índice > Todo acerca de Linux > Programación y desarrollo Nuevo tema Publicar Respuesta
 Ejecutar programa en servidor desde php con shell_exec
Tema anterior Tema siguiente
   
Mario A Ferreira Márquez
Publicado en 13/08/07 07:20 (Leído 2766 veces)  

Nuevo
Forum User

Inscrito: 06/06/07 Publicaciones: 6
Hola.

Estoy tratando de ejecutar un programa de linux que me permite hacer una "exportación" de una base de datos DBF a MySQL:
Eliminar el archivo de la ultima vez que corrí el script
Copiar de servidor 1 a servidor 2 el archivo por medio de scp
Vaciar la tabla de MySQL de los datos antiguos
Correr el programa dbf2mysql para llenar la tabla con los datos nuevos.

Mi script de PHP ya hace todos los primeros pasos, sólamente me falta lograr que corra el programita este de dbf2mysql para tener listo mi script.

Cambié los permisos del programa /usr/bin/dbf2mysql (si no me equivoco) para que pueda ser ejecutado por apache, pero no ha funcionado, creo que se podría hacer con sudo, pero no lo he logrado todavía. Podría alguien arrojarme un poco de luz ? Gracias
 
Perfil
 Citar
Mario A Ferreira Márquez
Publicado en 14/08/07 09:18  

Nuevo
Forum User

Inscrito: 06/06/07 Publicaciones: 6
He encontrado una pequeña luz en el asunto pero ahora me encuentro aún más perdido si se puede...

estoy usando estas instrucciones:
PHP Formatted Code
$string_dump="dbf2mysql -h localhost -d libreriamaranatha -t $baseCatalgoLmamos$tienda$ano /var/www/html/bases/$tienda$ano/$archivo_base -U dbupdate"." 2>&1";
$output = shell_exec($string_dump);
echo(nl2br($output));


Con eso he redireccionado el stderr del comando a una salida en pantalla, esto es lo que obtengo:
dbf2mysql: error while loading shared libraries: libmysqlclient.so.10: cannot open shared object file: No such file or directory

Pero en /usr/lib/mysql/ si existe el susodicho archivo:
PHP Formatted Code
-rw-r--r--  1 root root   10192 abr  5 14:02 libdbug.a
-rw-r--r--  1 root root   41962 abr  5 14:02 libheap.a
-rw-r--r--  1 root root   14298 abr  5 14:02 libmerge.a
-rw-r--r--  1 root root  331080 abr  5 14:02 libmyisam.a
-rw-r--r--  1 root root   26270 abr  5 14:02 libmyisammrg.a
-rw-r--r--  1 root root 1408578 abr  5 14:02 libmysqlclient.a
-rw-r--r--  1 root root 1416464 abr  5 14:02 libmysqlclient_r.a
lrwxrwxrwx  1 root root      26 ago 11 12:29 libmysqlclient_r.so -> libmysqlclient_r.so.14.0.0
[b]lrwxrwxrwx  1 root root      26 ago 10 18:17 libmysqlclient_r.so.10 -> libmysqlclient_r.so.10.0.0[/b]
-rwxr-xr-x  1 root root  211004 feb 21  2005 libmysqlclient_r.so.10.0.0
lrwxrwxrwx  1 root root      26 ago 11 12:29 libmysqlclient_r.so.14 -> libmysqlclient_r.so.14.0.0
-rwxr-xr-x  1 root root 1263052 abr  5 14:02 libmysqlclient_r.so.14.0.0
lrwxrwxrwx  1 root root      24 ago 11 12:29 libmysqlclient.so -> libmysqlclient.so.14.0.0
lrwxrwxrwx  1 root root      24 ago 10 18:17 libmysqlclient.so.10 -> libmysqlclient.so.10.0.0
-rwxr-xr-x  1 root root  209016 feb 21  2005 libmysqlclient.so.10.0.0
lrwxrwxrwx  1 root root      24 ago 11 12:29 libmysqlclient.so.14 -> libmysqlclient.so.14.0.0
-rwxr-xr-x  1 root root 1257220 abr  5 14:02 libmysqlclient.so.14.0.0
-rw-r--r--  1 root root 1172264 abr  5 14:02 libmystrings.a
-rw-r--r--  1 root root  253552 abr  5 14:02 libmysys.a
-rw-r--r--  1 root root  105092 abr  5 14:02 libnisam.a
-rw-r--r--  1 root root   14376 abr  5 14:02 libvio.a
-rwxr-xr-x  1 root root   11004 abr  5 14:02 mysqlbug
-rwxr-xr-x  1 root root    5298 abr  5 14:02 mysql_config
 


El problema es que no sé dónde está buscando el archivo. Si ejecuto ese comando de dbf2mysql... desde un usuario en el sistema, no me genera ningún problema.

Ahora, sin embargo no tengo idea de qué hacer... Alguna sugerencia?
Gracias
 
Perfil
 Citar
Mario A Ferreira Márquez
Publicado en 16/08/07 07:53  

Nuevo
Forum User

Inscrito: 06/06/07 Publicaciones: 6
Ya quedó, después de intentar varias cosas, logré hacerlo con sudo, dándole permiso a apache de ejecutar el comando sin pass.

Saludos
 
Perfil
 Citar
Contenido generado en: 0,45 segundos Nuevo tema Publicar Respuesta
 Todas las horas son UTC. Hora actual 10:03 .
Tema normal Tema normal
Tema persistente Tema persistente
Tema cerrado Tema cerrado
Nueva publicación Nueva publicación
Persistente con nueva publicación Persistente con nueva publicación
Cerrado con nueva publicación Cerrado con nueva publicación
Ver publicaciones anónimas 
Usuarios anónimos pueden publicar 
Se permite HTML Filtrado 
Contenido censurado