Foros del Web » Programando para Internet » PHP »

Problema con EasyPHP y CGI

Estas en el tema de Problema con EasyPHP y CGI en el foro de PHP en Foros del Web. Tengo easyphp 1.8 y trate de ejecutar un interesante ejemplo de upload dinámico hecho en php + ajax + cgi que encontre en w3.obolog.com/upload.php ...pero ...
  #1 (permalink)  
Antiguo 15/01/2007, 13:41
 
Fecha de Ingreso: enero-2007
Mensajes: 97
Antigüedad: 17 años, 3 meses
Puntos: 1
Busqueda Problema con EasyPHP y CGI

Tengo easyphp 1.8 y trate de ejecutar un interesante ejemplo de upload dinámico hecho en php + ajax + cgi que encontre en w3.obolog.com/upload.php ...pero no resulto. Busque un "holamundo.cgi" para ver si resultaba y tampoco, por lo que pense que habia que configurar algo en mi servidor.

En efecto, en el log de errores de apache aparecen:

[error] [client 127.0.0.1] Options ExecCGI is off in this directory: c:/archivos de programa/easyphp1-8/www/proyecto/v1/uploaddinamico/cgi-bin/upload.cgi

[error] [client 127.0.0.1] (2)No such file or directory: script not found or unable to stat: c:/archivos de programa/easyphp1-8/cgi-bin

Naufragando:

- Lei que EasyPHP no trae activado el soporte para CGI de apache.

- Lei que para que apache permita cgi hay que configurar algo en el httpd.conf. Pero que y en cual modifico? yo tengo 2:

1- C:\Archivos de programa\EasyPHP1-8\apache\conf\

ScriptAlias /cgi-bin/ "C:/ARCHIV~1/EASYPH~1/cgi-bin/"

# "C:/ARCHIV~1/EASYPH~1/apache/cgi-bin" should be changed to whatever your ScriptAliased
# CGI directory exists, if you have that configured.

<Directory "C:/ARCHIV~1/EASYPH~1/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>

2- C:\Archivos de programa\EasyPHP1-8\conf_files\

ScriptAlias /cgi-bin/ "${path}/cgi-bin/"

# "${path}/apache/cgi-bin" should be changed to whatever your ScriptAliased
# CGI directory exists, if you have that configured.

<Directory "${path}/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>

- Tambien lei que para poder ver los resultados de mi .cgi en perl tengo algunas opciones como por ejemplo:
1-bajar gratuitamente una distribucion de perl (w3.perl.com )
2-bajar un programa que se llama microweb (w3.indigostar.com)
3-Instalando cygwin
4-Instalando ActivePerl

Por favor, estoy algo confundido ...help!! que hago?
Gracias...

Última edición por phidalgo; 15/01/2007 a las 15:45 Razón: descripción de los 2 httpd.conf
  #2 (permalink)  
Antiguo 16/01/2007, 15:21
Avatar de monoswim
$moderador{'Esteban'}
 
Fecha de Ingreso: febrero-2002
Ubicación: Buenos Aires - Argentina
Mensajes: 8.762
Antigüedad: 22 años, 2 meses
Puntos: 90
Re: Problema con EasyPHP y CGI

Fijate que generalmente los CGI generalmente están escritos en PERL, para que funcionen, debes instalar el activeperl y ya, al inastalar el apache ya viene configurado...

Nada más...Ni cygwin, ni microweb, ni perl.con...Solo el intérprete de actriveper que lo bajas gratuitamente de www.activeperl.com

Ahora bien, no se si se puede poner soporte CGI en eacyPHP, no creoq ue se pueda...

Porque no instalas el apache ?

Saludos
__________________
Esteban Quintana
  #3 (permalink)  
Antiguo 17/01/2007, 13:27
 
Fecha de Ingreso: enero-2007
Mensajes: 97
Antigüedad: 17 años, 3 meses
Puntos: 1
Re: Problema con EasyPHP y CGI

Cita:
Iniciado por monoswim Ver Mensaje
...
Porque no instalas el apache ?
Saludos
easyphp ya viene con apache, pero no viene con soporte para cgi

Ok muuuuuuuuuuuuuuchas gracias por la ayuda, por fin veo la luz.

Y por si alguien tiene las mismas dudas, esto es lo que yo tuve que hacer para correr archivos cgi teniendo EasyPHP 1.8:

- Al instalar activeperl, cambiar la ruta c:\perl\ (que viene por defecto) por c:\usr\ ...solo como recomendación para no estar cambiando la ruta a todos los códigos perl que por lo general vienen con #!/usr/bin/perl -w

- Configurar el archivo httpd.conf alojado en ..\EasyPHP1-8\apache\conf\

ScriptAlias /cgi-bin/ "C:/ARCHIV~1/EASYPH~1/ruta a la carpeta cgi-bin/"
<Directory "C:/ARCHIV~1/EASYPH~1/ruta a la carpeta cgi-bin/">
#directiva que le dice a apache q permita la ejecucion de archivos CGI
Options +ExecCGI
#le dice al servidor q trate a los archivos con extensión cgi o pl como programas CGI
AddHandler cgi-script cgi pl
</Directory>

Por lo menos a mi, no me basto con intalar el activeperl, los ejemplos me corrieron inmediatamente despues de modificar el httpd.conf

Gracias nuevamente!!
  #4 (permalink)  
Antiguo 18/09/2008, 08:27
 
Fecha de Ingreso: abril-2008
Mensajes: 1
Antigüedad: 16 años
Puntos: 0
Respuesta: Problema con EasyPHP y CGI

Hola! Eh estado Googleando por muchas horas y todavia no he podido solucionar mi problema.

Estoy queriendo usar el Bugzilla-3.0.5 con EasyPhp.

Instale el EasyPhp 2.0b1, el ActivePerl 5.10.0 Build 1004. Configure el archivo de EasyPhp como dicen aca y tambien ActivePerl tiene los paquetes de Bugzilla.

Cuando entro a bugzilla en vez de mostrarme el bugzilla me muestra el siguiente codigo:

Cita:
use Bugzilla::Update;

# Check whether or not the user is logged in
my $user = Bugzilla->login(LOGIN_OPTIONAL);

################################################## #############################
# Main Body Execution
################################################## #############################

my $cgi = Bugzilla->cgi;
# Force to use HTTPS unless Bugzilla->params->{'ssl'} equals 'never'.
# This is required because the user may want to log in from here.
if (Bugzilla->params->{'sslbase'} ne '' and Bugzilla->params->{'ssl'} ne 'never') {
$cgi->require_https(Bugzilla->params->{'sslbase'});
}

my $template = Bugzilla->template;
my $vars = {};

# Return the appropriate HTTP response headers.
print $cgi->header();

if ($user->in_group('admin')) {
# If 'urlbase' is not set, display the Welcome page.
unless (Bugzilla->params->{'urlbase'}) {
$template->process('welcome-admin.html.tmpl')
|| ThrowTemplateError($template->error());
exit;
}
# Inform the administrator about new releases, if any.
$vars->{'release'} = Bugzilla::Update::get_notifications();
}

# Generate and return the UI (HTML page) from the appropriate template.
$template->process("index.html.tmpl", $vars)
|| ThrowTemplateError($template->error());
No tengo idea de que esta pasando. Me pueden ayudar? Gracias!

Última edición por Javier82; 18/09/2008 a las 08:57
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:20.