Closed mamuts closed 5 years ago
Hi ha diversos problemes amb PHP7, no hi he treballat a fons.
Els dos ultims comits d'aquesta branca https://github.com/jorix/Aixada/tree/php7-fail arregla els dos primers que vaig trobar, pero no he seguit investigant.
Bones! Nosaltres a la cooperativa Gira-sol de Sant Martí també hem tingut aquest problema amb l'actualització que ha fet el hosting. De moment hem pogut fer rollback a la versió anterior disponible al proveïdor, però ens mirem els últims commits a veure si hi podem integrar aquesta millora a la nostra instal·lació.
Gràcies de veritat per la feinada!
@mamuts & @AitorMedrano
Inicialment al #207 es va plantejar el tema del PHP7 però no va fer falta aprofondir-hi ja que van passa a PHP5.
Ara ha passat temps i el PHP7 ja té més força, així que tornaré a provar Aixada amb PHP v7.2.12. i si algú més també ho fa, doncs millor.
NOTA: Qui vulgui fer proves hauria d'agafar la branca jorix/php7-fail que arregla coses. Atenció: Ara he fet un rebase de la branca per tal de que incorpori també TOTS els commits de master
A @AitorMedrano: Quan dius >...versió anterior disponible al proveïdor... a quin proveidor et referiex? He vist que el fork que tens fet d'Aixada és molt molt molt antic!
Qué bien, ver que el proyecto sigue con vida! Nosotros desde hace poco (!) tenemos la versión más actualizado online en un hosting. De momento funciona bien, pero hay que ver cuando nos toca acutalizar.
@jorix, el que hem fet és instal·lar PHP5 al proveïdor de hosting enlloc de PHP7.2 que ens havien posat ells. La versió d'aixada que tenim és mooooolt antiga, si. Un company que ja no hi és a la coope va fer les modificacions per tenir un producte "transport" del que el preu fixe es distribueix entre els que han fet comanda segons el nombre d'articles que hagin demanat. Des-de llavors no actualitzem per si de cas aquesta funcionalitat no va bé amb les noves versions. De tota manera, m'ho vull mirar i fer proves a un servidor apart per poder tenir una versió més actual.
En la vesió actual al revisar comandes hi ha la possibilitat d'afegir productes, així ho fem en alguns casos per repartir el transport (que té el preu unitat = 1€), un cop afegit 0 unitats canviem el total per import brut del transpot i aixo fa que es reparteixi a tothom que ha fet comanda una part dels transpot.
El ds., 10 nov. 2018 14.55, AitorMedrano notifications@github.com va escriure:
@jorix https://github.com/jorix, el que hem fet és instal·lar PHP5 al proveïdor de hosting enlloc de PHP7.2 que ens havien posat ells. La versió d'aixada que tenim és mooooolt antiga, si. Un company que ja no hi és a la coope va fer les modificacions per tenir un producte "transport" del que el preu fixe es distribueix entre els que han fet comanda segons el nombre d'articles que hagin demanat. Des-de llavors no actualitzem per si de cas aquesta funcionalitat no va bé amb les noves versions. De tota manera, m'ho vull mirar i fer proves a un servidor apart per poder tenir una versió més actual.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/jmueller17/Aixada/issues/234#issuecomment-437585505, or mute the thread https://github.com/notifications/unsubscribe-auth/ABDGDvc32JwZccB56yRG9gdVwoF_7cULks5uttrMgaJpZM4YVkzI .
Bones!
Perquè em quedi clar... que sóc nou amb tot això ;) Si la nostra cope utilitzem un hosting que només permet php7 és millor pel que entés utilitzar la branca php7fail de @jorix no? I resar perquè no hi hagi gaires incompatibilitats... O millor utilitzar la branca master de https://github.com/jmueller17/Aixada?
Hi ha alguna altra alternativa?
Moltes gràcies per avançat! ;)
No, no!
Utilitza Php-5 i la branca master! (per ara no crec que el hosting no us deixi triar php-5)
La php-faill no està provada, cal fer un recorregut complet per totes les opcions i veure que no en falla cap.
El dl., 12 nov. 2018 21.59, Ferran notifications@github.com va escriure:
Bones!
Perquè em quedi clar... que sóc nou amb tot això ;) Si la nostra cope utilitzem un hosting que només permet php7 és millor pel que entés utilitzar la branca php7fail de @jorix https://github.com/jorix no? I resar perquè no hi hagi gaires incompatibilitats... O millor utilitzar la branca master de https://github.com/jmueller17/Aixada?
Hi ha alguna altra alternativa?
Moltes gràcies per avançat! ;)
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/jmueller17/Aixada/issues/234#issuecomment-437994985, or mute the thread https://github.com/notifications/unsubscribe-auth/ABDGDuj-cc1jIRCIOkx3VkY111bEwlGyks5uucc8gaJpZM4YVkzI .
El uso de PHP7 tiene muchas implicaciones en diversas funcionalidades de Aixada.
Lo que he mirado:
php/inc/cookie.php
usa mcrypt
que en PHP7.1 está deprecated por inseguro. La alternativa en que estoy trabajando es solo usar $_SESSION y dejar de encriptar datos para ponerlos en cookie. php\external\mpdf54
usa el nombre de la clase como constructor en vez de __construct()
. esto ya no se permite en PHP7, se requeriría una versión más moderna del módulo. Existe una pero funciona a partir de PHP5.6 (Aixada puede funcionar en 5.3): ¿que hacer?:@jmueller17 y cia: Y aún faltan unas cuantas funcionalidades por probar.
Pienso ir trabajando en esto y proponiendo PRs por temáticas, relajadamente..., y sin mirar si se ve o no luz al final del túnel (primera estación: eliminar exportación a PDFs)
¿Algún inconveniente?
¿Alguna propuesta?
Perfecto, guay!
Alguien puede probar: 42ef45ba3551f8c65628d1f529eee8e84288081d ?
En el commit se propone eliminar el uso de cookies encriptadas con lo cual la mayor parte de paginas Aixada ya no fallan PHP v7.1 o suprrior, ya no aparece el error:
Fatal error: Uncaught Error: Call to undefined function mcrypt_module_open()
Me dejaría más tranquilo que alguien más lo probara, o que se dejara en una rama aparte para PHP7, que luego pues ya tal!
NOTA: Esto solo sería un paso a la compatibilidad con PHP7.
ATENCIÓN: para probar el commit comentado se debe eliminar la linea 12 de php/ctrl/SmallQ.php
o hacer un mege con el PR #243!!!!
La línea que moslesta de php/ctrl/SmallQ.php
es:
include(__ROOT__ . "php/external/mpdf54/mpdf.php");
Bones @jorix! Pel que fa a la funcionalitat de PDF, nosaltres no la hem fet servir i, com dius, ja està als navegadors, així que jo diria que es pot deixar fora.
Com que el nostre hosting ja no ens deixa fer servir PHP5, hem començat a instal·lar la branca jorix/php7-fail per fer proves. He pensat fer varis recorreguts i anar informant (aqui mateix o en un altre lloc?) del que trobem. Ara com ara no tenim plataforma per fer comandes, així que ens va bé el temps de festes nadalenques per trobar una solució.
Gràcies!
...començat a instal·lar la branca jorix/php7-fail ...
@AitorMedrano Proveu-la fent un merge amb la jorix/a-session
Sense la jorix/a-session la jorix/php7-fail només funcionarà en PHP7.0.
Per que funcioni també amb PHP >=7.1 hauríeu de provar-ho afegint un merge
de la jorix/a-session però encara, diguem que... és experimental. Qualsevol problema reporteu-lo.
De fet us recomano agafar la marter
a dia d'avui i fer-hi un merge amb la jorix/a-session
i la jorix/php7-fail
, i així podeu tenir els últims canvi a comandes acumulatives i la instal·lació automàtica via install.php
.
Bones @jorix! Sóc company de l'@AitorMedrano, estem començant a fer les proves, però veig que ja no existeix la branca jorix/php7-fail
.
Estem muntant una màquina amb PHP7 per córrer l'Aixada. Veig que fa unes hores s'han creat noves branques, podries indicar quines branques hem de fer servir ara per fer proves amb PHP7?
Creiem que és la jorix/laCistella-php7
. És correcte?
Gràcies!
Podeu agafar la branca: https://github.com/jorix/Aixada/tree/a_session-2
Ara a la master de Aixada ja hi ha la php7-fail (que evita errors amb PHP7.0 ) però la a_session-2 proposa canvis per evitar errors amb PHP7.1 i superiors.
Hi haura algunes funcionalitat que encara poden fallar, com exportar a execel, i encara d'altres que hem de provar...
El dt., 11 des. 2018 11.20, Daniel Palomar Rodríguez < notifications@github.com> va escriure:
Bones @jorix https://github.com/jorix! Sóc company de l'@AitorMedrano https://github.com/AitorMedrano, estem començant a fer les proves, però veig que ja no existeix la branca 'jorix/php7-fail'. Estem muntant una màquina amb PHP7 per córrer l'Aixada. Veig que fa unes hores s'han creat noves branques, podries indicar quines branques hem de fer servir ara per fer proves amb PHP7?
Creiem que és la 'jorix/laCistella-php7'. És correcte?
Gràcies!
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/jmueller17/Aixada/issues/234#issuecomment-446148908, or mute the thread https://github.com/notifications/unsubscribe-auth/ABDGDmd148G1KsBOrZRoARpvNr011X7tks5u34bxgaJpZM4YVkzI .
@jorix Moltisimes gràcies! Ens possem en marxa!
@AitorMedrano & @danypr92
Ara acabo de posar l'últim commit de a_session-2
a jorix/laCistella-php7
, us explico:
Les branques jorix/laCistella-xxxxx
contenen Aixada + uns informes per fer reparatiments + un registre del torns programats de repartiment + un informe del directori (noms i adreces de proveïdors i membres de les UF)
Tot això ho vaig fer incialment per La Cistella de Castelldefels però hi ha altres coopes que també es basen en això, i ho mantinc actualitzat. La jorix/laCistella-master
té el que hi ha la master
d'Aixada i laCistella-php7
és una branca temporal que conté el que hi ha de nou per PHP7 fins que el tema estigui resolt a Aixada.
Me acabo de instalar el proyecto (master).
A nivel de syntaxis no hay errores para ninguna versión de PHP 7.x
find . -name "*.php" -type f -exec php -l {} \;
De momento, el único error de compatibilidad ha sido mcrypt. mcrypt dejó de ser parte de la distribución de PHP a partir de la versión 7.2: http://php.net/manual/es/migration71.deprecated.php
Sin embargo, se puede seguir instalando como extensión: https://pecl.php.net/package/mcrypt
Instalando y activando la extensión se resuelve.
Hola @santakadev
Seria interesante que probarais la jorix/a_session-2 que a parte de evitar el uso de mcrypt mejora la seguridad (digamos que Aixada tiene algunos ajerillos de seguridad, a parte de que el uso de datos encriptados de seguridad en la cookie es en sí otro problema)
Ahora el punto de partida d la rama a_session-2
es master
(antes no, y daba problemas al hacer un merge
)
Estoy esperando probar la a_session-2
en producción antes de proponer un PR, lo haré después de fiestas.
Hay una rama más evolucionada la jorix/upload-excel que arregla la importación de datos en Excel probada con 7.2 pero que aún puede fallar con 7.3 usando *.xlsx, ahí estoy...
Efectivamente en master
ya no hay errores estáticos de sintaxis para PHP7.3, pero si que los hay en ejecución.
Por lo que he ido viento el más importante y transversal es el uso de mcrypt. Luego quedan problemeas en la importación de Excel y ja no he encontrado nada más por ahora (de echo master
ya tiene el merge
del PR #243 que resuelve problemas con PHP7)
Resuelto en master
!!
( con #248 y #249 )
Perfecto!!
Bones!
Primer de tot merci per la feinada que us heu fet la gent que heu tirat endavant aquest projecte. Us escric desde una cooperativa de consum de Salt que l'utilitzem i ens facilita la vida de mala manera ;)
El problema ha estat que el hosting està actualitzant el Php a la versió 7 i ens apareix un error amb les sessions degut, si no m'equivoco, a la utilització d'una funció que ja no eixisteix amb la nova versió de php.
L'error en concret és:
"Fatal error: Uncaught Error: Call to undefined function mcrypt_module_open()" Pel que he vist per internet mcrypt està deprecated amb php 7.1 i missing en php 7.2. Hi ha alguna possible solució al fet de correr l'aplicació en hostings amb php superior a 7?
Gràcies per endavant!
Salut!