Ejecutar cgi con php script en el servidor
Los cgi scripts pueden ser ejecutados por intérpretes de php, perl, etc. Que hace falta para que nuestro servidor ejecute un script de estos?
Dependiendo del servidor donde estés hospedado tendrás que hacer una cosa u otra, pero voy a explicar lo que hice para que funcionase en el mio por si te ayuda en algo:
Para empezar veamos un ejemplito:
Este código lo incluimos en un archivo cuya extensión sea .cgi o .pl.
La primera línea indicará qué interprete se usará (php), si quisieramos perl sería así:
Genial!, guardamos este archivo y lo subimos al servidor vía ftp, pero dónde lo ponemos? Si tu host es como el mio solamente te dejará ejecutar este tipo de scripts si se encuentran en la carpeta cgi-bin, así que lo ponemos ahí.
Además tendremos que incluir en el archivo .htaccess de esa carpeta una línea que contenga:
creando y subiendo el archivo de ser necesario a la carpeta cgi-bin.
Ahora sólo falta dar permisos de ejecución al archivo que hemos subido. Ojo! este paso puede ser diferente en cada servidor, en mi caso necesitaba permisos 755, sino no se ejecutaba! y salía un error 500 (server error), si te sale ya sabes que es cuestión de permisos probablemente.
Asegúrate de que la carpeta cgi-bin tiene los mismos permisos que el archivo.
Y ya debería funcionar!, para probarlo abrimos el navegador y escribimos la ruta completa de nuestro archivo:
Espero que os haya servido de ayuda.
Dependiendo del servidor donde estés hospedado tendrás que hacer una cosa u otra, pero voy a explicar lo que hice para que funcionase en el mio por si te ayuda en algo:
Para empezar veamos un ejemplito:
#!/usr/local/bin/php
<html><body>
<?php echo "Hola desde PHP-CGI"; ?>
</body></html>
Este código lo incluimos en un archivo cuya extensión sea .cgi o .pl.
La primera línea indicará qué interprete se usará (php), si quisieramos perl sería así:
#!/usr/local/bin/perl
(La ruta puede variar en tu host).Genial!, guardamos este archivo y lo subimos al servidor vía ftp, pero dónde lo ponemos? Si tu host es como el mio solamente te dejará ejecutar este tipo de scripts si se encuentran en la carpeta cgi-bin, así que lo ponemos ahí.
Además tendremos que incluir en el archivo .htaccess de esa carpeta una línea que contenga:
Options ExecCGI
creando y subiendo el archivo de ser necesario a la carpeta cgi-bin.
Ahora sólo falta dar permisos de ejecución al archivo que hemos subido. Ojo! este paso puede ser diferente en cada servidor, en mi caso necesitaba permisos 755, sino no se ejecutaba! y salía un error 500 (server error), si te sale ya sabes que es cuestión de permisos probablemente.
Asegúrate de que la carpeta cgi-bin tiene los mismos permisos que el archivo.
Y ya debería funcionar!, para probarlo abrimos el navegador y escribimos la ruta completa de nuestro archivo:
http://www.miserver.es/cgi-bin/prueba.cgi
Espero que os haya servido de ayuda.
Comentarios
Publicar un comentario