Servidor PHP en compilación exe - Forum

Forum Navigation
You need to log in to create posts and topics.

Servidor PHP en compilación exe

Hola!:

Bueno la pregunta es la siguiente, si en VisualNeo Web compilo en EXE un programa que consulta una Base de datos local (sql lite), cual sería la mejor manera de hacerlo funcionar?, es posible estando en EXE?. Saludos!

@palamar, es posible pero tendrías que incluir junto a tu ejecutable un servidor web con PHP como el que acompaña a VisualNEO Web (neoWebServer) y utilizar algún tipo de launcher para que iniciase el servidor web antes que tu ejecutable.
Saludos!

Pues muchas gracias Luishp, el tema está ahora que no me lee la base de datos, digamos que adjunte php a la misma carpeta y ejecute por linea de comando el comando para iniciar el servidor y bárbaro, entro a Localhost:8000 y funciona al igual que lo hace desde el NeoPhp pero con la salvedad que no lee la base de datos. Incluí el php.ini pero al ejecutarlo no encuentra los módulos correspondientes....cómo hace visualneo para ejecutar la base de datos también?. Jajaj, perdón por el experimento.

Un gran saludo.

Asegúrate de tener habilitada la extensión PDO para SQLite.
En tu servidor web deben estar los .dll adecuados (creo que son php_pdo_sqlite.dll y php_pdo.dll).
Yo creo que no necesitas más que eso.

Pues así lo he hecho. He puesto el php.ini en la carpeta del server php y he modificado estas lineas:

; Enable sqlite extension module
extension=./ext/php_pdo_sqlite.dll
extension=./ext/php_sqlite.dll

; Enable mysql extension module
extension=./ext/php_pdo_mysql.dll
extension=./ext/php_mysql.dll

los PDO los carga sin problemas, pero el php_sqlite no. Vi que dentro de ext hay uno que dice php_sqlite3.dll, lo redirigí a ese y lo cargó. Los PDO aparentemente los carga pero no funciona.

la estructura de carpeta las tengo así:

php > Archivos y carpetas de PHP > Carpeta del programa.

El archivo INI lo estoy poniendo claramente en el raiz de PHP.

El server lo ejecuto por cmd y da ese error:

[Thu Jan 16 09:02:42 2020] PHP Warning:  PHP Startup: Unable to load dynamic library './ext/php_sqlite.dll' (tried: ./ext/php_sqlite.dll (No se puede encontrar el m├│dulo especificado.), C:\php\ext\php_./ext/php_sqlite.dll.dll (No se puede encontrar el m├│dulo especificado.)) in Unknown on line 0
[Thu Jan 16 09:02:42 2020] PHP Warning:  PHP Startup: Unable to load dynamic library './ext/php_mysql.dll' (tried: ./ext/php_mysql.dll (No se puede encontrar el m├│dulo especificado.), C:\php\ext\php_./ext/php_mysql.dll.dll (No se puede encontrar el m├│dulo especificado.)) in Unknown on line 0
[Thu Jan 16 09:02:42 2020] PHP 7.4.1 Development Server (http://localhost:8000) started

se ejecuta pero no encuentra dichas librerias y es verdad, no están ahí. Lo curioso es que en el PHP de VisualNeo tampoco están así que no sé..

Gracias!

 

@palamar, no se que servidor estás usando pero puedes intentar utilizar el servidor php que viene con VisualNEO Web. neoPhpServer (que está programado en VisualNEO Win) pone en marcha el servidor con esta instrucción:

Run "[PubDir]php\php.exe" "-S [localhost]:[port] -c php.ini -t [#34][rootFolder][#34]" "RunOnce+LoadComplete+Hidden" "" "[phpApp]"

[localhost] y [port] los asigna desde los campos de texto de la interfaz de neoPhpServer.
[rootFolder] es la carpeta donde se encuentra la aplicación web (los archivos .php).
Es decir, la propia distribución de PHP viene con un pequeño servidor web que, si bien no es adecuado para producción, si creo que es suficiente para una aplicación ejecutable en local.
Espero que te sirva.

Saludos!

Pues me volví loco un rato jaja, pero lo he logrado. El comando es correcto pero lo que faltaba era copiar el archivo php.ini y crear la carpeta Temp de forma automática, parece que sin eso el servidor php embutido en php no funciona (era el que yo usaba). Voy a postear la app en mi web en breve por si a alguien le sirve. Como siempre, gracias por tu ayuda!.

Eso si, en los EXE creados por Visualneo aún no lo he hecho funcionar, podrías decirme donde descomprime el contenido? porque creo que ahí estaría la clave ya que esa sería la ruta que debería respetar el servidor.

También he notado que cuando se comprime a EXE los gráficos (iconos) de los botones predeterminados de VisualNeo desaparecen, en fin, ese EXE no sé si es muy funcional o me estoy olvidando de hacer algo.

Nuevamente gracias!.