Amigos quisiera saber si existe alguna herramienta free para compilar (no encriptar) mis php, hay algunos que he visto pero... todos son pagos.
Saludos
| ||||
No se, no creo que tenga que ver con el procedimiento binario, sino en la forma en que cargan los procesos, lo que hace que tu script php tarde, igual aligerando peso a los procesos en ciclo, o de plug ins externos, pueda solucionar eso que estás diciendo. |
| |||
No existe compilador para PHP .. los productos como PHP Encoder .. Zend Safety Guard y similares "encriptan" el código sólo . .no es una compilación. Igualmente requieren del interprete PHP por médio + alguna extensión o archivo para "desencriptarlo". Lamentablemente PHP hasta la fecha es y seguirá siendo "interpretado". Por cierto el "Roadsend Compiler" no sé que tipo de "compilación" hace .. más parece un "compactador" .. es decir: tu aplicación (de orientación GTK más que para "web" como el uso común de PHP bajo entorno web) + el interprete de PHP .. todo lanzado como un "CGI" cuando ejecutas tu aplicación y a su vez "matado" (el proceso completo) cuando cierras la aplicación. Esto por supuesto habría que confirmarlo .. Hago el comentario por qué me parece extraño que "Zend" (www.zend.com) la "división comercial" de PHP y la cual dispone de muchos productos para PHP (IDE's, encriptadores, optimizadores ...) no tenga un "compilador" (y más cuando son ellos los creadores del "motor" del interprete de Zend). Un saludo, Última edición por Cluster; 09/03/2006 a las 15:02 |
| ||||
Cita: Bueno, si fuera encriptado no habria tanto interes de mi parte, pero se da el caso de que en la pagina principal de Roadsend dice esto:
Iniciado por Cluster No existe compilador para PHP .. los productos como PHP Encoder .. Zend Safety Guard y similares "encriptan" el código sólo . .no es una compilación. Igualmente requieren del interprete PHP por médio + alguna extensión o archivo para "desencriptarlo". Lamentablemente PHP hasta la fecha es y seguirá siendo "interpretado". Por cierto el "Roadsend Compiler" no sé que tipo de "compilación" hace .. más parece un "compactador" .. es decir: tu aplicación (de orientación GTK más que para "web" como el uso común de PHP bajo entorno web) + el interprete de PHP .. todo lanzado como un "CGI" cuando ejecutas tu aplicación y a su vez "matado" (el proceso completo) cuando cierras la aplicación. Esto por supuesto habría que confirmarlo .. Hago el comentario por qué me parece extraño que "Zend" (www.zend.com) la "división comercial" de PHP y la cual dispone de muchos productos para PHP (IDE's, encriptadores, optimizadores ...) no tenga un "compilador" (y más cuando son ellos los creadores del "motor" del interprete de Zend). Un saludo, "The Roadsend Compiler for PHP lets you create royalty free executables for distribution without compromising your source code. Compiling PHP to native machine code produces faster, more efficient products for your own use or for sale to your clients." (http://www.roadsend.com/home/index.php?pageID=compiler) Y en la pagina de Ioncube dice esto: "Encoding PHP scripts with optimised compiled bytecodes for optimum runtime performance and maximum security." (http://www.ioncube.com/sa_encoder.php) |
| ||||
Por lo que se, eso no es mas que un ofuscador, por ejemplo: Si tenes la función llemarAPepe( $donde, $cuando, $porque), le pondrá l($d,$c$p) y todo así, cuando lees no entendes nada...esto hace que un file de 10k pase a pesar como mucho 3k. Ojo, esto es lo que se escucha, no lo he probado. Con lo de optimizar tal vez haga algo para eso...pero no algo que no puedas mejorar vos optimizando código php o sql. Que tan pesada puede ser una aplicación para necesitar de esto? ...o cambio la pregunta...que tan mal programada puede estar una aplicación para necesitar de esto?. Ahora, si me decís que queres que nadie vea tu código sería otra cosa (la cual no estoy de acuerdo, por mas que le vendas tu script a MS, ya que trabajas con productos open, y hacer eso me parece "sucio"...pero fuera de esto...). No le veo utilidad alguna, y si la tuviera habría que pagar por él...no pagamos casi nada trabajando con php, no nos costaría mucho pagar 199 dolares. Es parte de mi humilde opinión, no es la intención que nadie lo tome a mal.
__________________ Mi punto de partida es Que Bueno Lo Nuevo |
| ||||
![]() Como nosotros somos desarrolladores, siempre nos interesa que nuestros sistemas ofrezcan la mayor performance posible, siempre el paradigma de php fue ser un lenguaje interpretado, es decir un script que necesita ser parseado, lo cual, digamos, no era lo optimo, la pregunta que cabe hacerse es: Porke fue concebido php para ser interpretado y no compilado? Bueno la respuesta es por portabilidad, de esta forma era mas versatil y podia ser llevado a diversas plataformas. Pero cuando surge la idea de que tu codigo php puede ser compilado, una serie de posibilidades se abren, por ejemplo: - Ahora tu codigo se vuelve mas rapido porque la interpretacion ya no existe. - Puedes desarrollar, si lo deseas, componentes, clases, y tratarlas como caja negra, pues lo unico que necesitas saber es que metodos llamar y que informacion pasar. - Finalmente, si estas desarrollando comercialmente, puedes alojar tus productos de demo en servidores x y tus clientes hasta pueden bajarse los .php (compilados) . No se trata de ir en contra de la filosofia del Open Source, simplemente es una alternativa mas para aquellos que kieran tomarla. Saludos |
| ||||
La verdad, si quisiera eso estaría programando con java o .net por pensar solo que esta cualidad los hace mejor alternativa ;)
__________________ Mi punto de partida es Que Bueno Lo Nuevo |
| |||
Cita: Roadsend no lo conozco .. pero Ioncube necesita de la instalación de PHP por médio para ejecutarse.
Iniciado por AmericoOnL Bueno, si fuera encriptado no habria tanto interes de mi parte, pero se da el caso de que en la pagina principal de Roadsend dice esto: "The Roadsend Compiler for PHP lets you create royalty free executables for distribution without compromising your source code. Compiling PHP to native machine code produces faster, more efficient products for your own use or for sale to your clients." (http://www.roadsend.com/home/index.php?pageID=compiler) Y en la pagina de Ioncube dice esto: "Encoding PHP scripts with optimised compiled bytecodes for optimum runtime performance and maximum security." (http://www.ioncube.com/sa_encoder.php) Para mi una "compilación" es crear un ejecutable que no dependa de nada más (de PHP "instalado" por ejemplo) .. si creo una aplicación PHP-GTK por ejemplo (ya que su enfoque es a la creación de aplicaicones de tipo "escritorio") que genere un ".exe" independiente u otro ejecutable según el S.O. que se "compile". Para una aplicación tipo "web" (bajo un servidor HTTP) el tratamiento sería el mismo que ejecutar en modo CGI programado en "C". Un saludo, |
| |||
Cita: Totalmente deacuerdo .. Ahora tu codigo se vuelve mas rapido porque la interpretacion ya no existe. Cita: En PHP tienes "extensiones" que son -compiladas- y las llamas como mencionas .. Ejemplos: GD, las que usas para conectarte a BBDD (mysql .. etc), PDFlib (para generar PDF's) y muchas más específicas. De hecho algunos de estas utilidades para proteger o "compilar" tu código se basan en el uso de una extensión que debes instalar a PHP para que sepa trabajar ese tipo de archivos "compilados/protegidos" .. - Puedes desarrollar, si lo deseas, componentes, clases, y tratarlas como caja negra, pues lo unico que necesitas saber es que metodos llamar y que informacion pasar. Puedes si quieres programar extensiones para PHP compiladas y usarlas bajo tus aplicaciones PHP "interpretadas". Cita: Sean o no "compilados" .. ya tienes las aplicaciones que conoces que "encriptan" tu código con esos fines de protección de propiedad itelectual .. crear "demos", definir licencias y demás historias.- Finalmente, si estas desarrollando comercialmente, puedes alojar tus productos de demo en servidores x y tus clientes hasta pueden bajarse los .php (compilados) . Creo que tu mejor opción es usar este tipo de aplicaciones (Ioncube, el Zend Safety Guard .. o similares) .. así proteges tu propiedad itelectual y si la psudo-compilación te reporta algún beneficio de rendimiento OK, eso que te llevas. Pero también hay que ser "realista" .. hay que ver que tipo de aplicación usas. Algunas requieren "extensiones" que instalar en el servidor .. otras no (sólo ciertos archivos tipo "key"). Te hago el comentario por qué no siempre uno puede distribuir sus aplicaciones en servidores dedicados donde uno tiene total control, a veces el "cliente" no está dispuesto a pagar nada más .. o no puede hacer ningún tipo de instalación en el servidor. Cita: Insisto .. la "compilación" en general lo que ofrece es todo tipo de protección para tu código (ademas de la mejora de rendimiento por supuesto). El problema principal de un lenguaje "interpretado" cara a nosotros desarrolladores es lo "indefenso" que queda nuestro código ante protección de nuestra propiedad intelectual. No se trata de ir en contra de la filosofia del Open Source, simplemente es una alternativa mas para aquellos que kieran tomarla. La alternativa está .. sólo que cuesta $$$. No me voy a meter en el tema de por qué la comunidad "Open Source" de desarrolladores no implementa una aplicación de esas características que sea "gratuita" .. pero creo que los motivo$$$ son claros. Un saludo, Última edición por Cluster; 10/03/2006 a las 07:03 |
| |||
Hola, Hasta donde yo sé Ioncube no es un compilador, he visto el código generado y realmente es un ofuscador de código, ahora el Zend Encoder no es sólo un ofuscador de código: Cita: Zend Encoder compila, ofusca, y optimiza el código PHP en un código intermedio que puede ejecutar el motor Zend. Yo creo que es una buena alternativa para lo que estás buscando ya que Zend es la empresa encargada del desarrollo y mantenimiento del motor de ejecución de PHP.Zend SafeGuard's encoder compiles and converts plain-text PHP scripts into a platform-independent binary format known as a 'Zend Intermediate Code' file Desde mi punto de vista, el Zend Encoder hace como una pre-compilación de código. En cuanto a servidores, hay muchos que tienen instalado el Zend Optimizer por lo cual vas a poder usar esta herramienta sin problemas. También he visto algunos con Ioncube. Ahora, si lo que querés es hacer un EXE a partir de un código PHP... Ni idea, he visto una aplicación que convierte un sitio entero en un EXE, pero sólo HTML... Desde el punto de vista del Open Source, no deberíamos hacer esto como dice Cluster, coincido con él. Pero yo varias veces he renegado con algún que otro cliente porque sabían un poquito de PHP y se largaban a modificar el código de un sistema sin percatarse de que podían dañarlo... Saludos. |
| |||
Cita: Así es .. la diferencia es bien clara y lo primero que hay que plantearse: vamos a crea un código con fines lucrativos (o no queremos distribuir nuestro código libremente)? .. o vamos a desarrollar un proyecto con fines educacionales o simplemente compartir el código con la comunidad (Open Source)? .. Desde el punto de vista del Open Source, no deberíamos hacer esto como dice Cluster, coincido con él. Pero yo varias veces he renegado con algún que otro cliente porque sabían un poquito de PHP y se largaban a modificar el código de un sistema sin percatarse de que podían dañarlo... Con esa pregunta que nos hagamos todo uso de "encriptadores" y similares estará justificada según el fín de nuestra aplicación. Un saludo, |
| |||
Cita: No podría estar mejor dicho.
Iniciado por Cluster Así es .. la diferencia es bien clara y lo primero que hay que plantearse: vamos a crea un código con fines lucrativos (o no queremos distribuir nuestro código libremente)? .. o vamos a desarrollar un proyecto con fines educacionales o simplemente compartir el código con la comunidad (Open Source)? .. ![]() Ahora, en cuanto a lo que ví anteriormente, ¿alguien de ustedes programó alguna vez una extensión para PHP? Según ví no debe ser muy difícil si se conoce un poco de C++, pero sería interesante probar... |
| ||||
Yo veo que hay dos aspectos de la "compilacion". Uno es el de optimizar. La teoria dice que el codigo compilado es mas rapido que el interpretado. Ahora, quienes trabajamos con PHP sabemos de antemano que estamos usando un lenguaje interpretado, asi que el tema de performance en el servidor no deberia preocuparnos demasiado. Si en todo caso es un tema critico entonces es porque no hemos hecho la eleccion correcta y estamos usando un lenguaje inadecuado. O sea, no deberiamos haber usado PHP... Si, por otra parte, lo que se pretende es prevenir que el codigo sea visible, entonces, a pesar de que a mi parecer no es etico, la alternativa mas simple seria "ofuscar" o "encriptar"...
__________________ No tengo firma ahora... :( |
| |||
Cita: Yo sigo insistiendo .. no se puede meter en el "saco" a todo tipo de aplicaciones:Si, por otra parte, lo que se pretende es prevenir que el codigo sea visible, entonces, a pesar de que a mi parecer no es etico, la alternativa mas simple seria "ofuscar" o "encriptar"... Cita: Yo tengo proyectos hecho bajo Open Source (código que publico por aquí .. mi "Autentificator" .. etc). NO tiene sentido "ofuscar" ese tipo de aplicaciones con ese fin .. justamente se crearon para "dar" a conocer el código ...Así es .. la diferencia es bien clara y lo primero que hay que plantearse: vamos a crea un código con fines lucrativos (o no queremos distribuir nuestro código libremente)? .. o vamos a desarrollar un proyecto con fines educacionales o simplemente compartir el código con la comunidad (Open Source)? .. Pero por otro lado también desarrollo aplicaciones para terceros con animo de lucro .. así que ahí debo resguardar mi "propiedad intelectual" como sea. Un saludo, |
| |||
Ahora, en cuanto a lo que ví anteriormente, ¿alguien de ustedes programó alguna vez una extensión para PHP? Según ví no debe ser muy difícil si se conoce un poco de C++, pero sería interesante probar... Por mi parte no tengo experiencia con C y menos en el desarrollo de una extensión para PHP .. pero si que he visto várias veces este tutorial al respecto: http://www.zend.com/php/internals/ex...n-writing1.php Un saludo, |